Bagikan melalui


SqlDataAdapter.SelectCommand Properti

Definisi

Mendapatkan atau mengatur pernyataan Transact-SQL atau prosedur tersimpan yang digunakan untuk memilih rekaman di sumber data.

public:
 property Microsoft::Data::SqlClient::SqlCommand ^ SelectCommand { Microsoft::Data::SqlClient::SqlCommand ^ get(); void set(Microsoft::Data::SqlClient::SqlCommand ^ value); };
public Microsoft.Data.SqlClient.SqlCommand SelectCommand { get; set; }
member this.SelectCommand : Microsoft.Data.SqlClient.SqlCommand with get, set
Public Property SelectCommand As SqlCommand

Nilai Properti

yang SqlCommand digunakan selama Fill(DataSet) memilih rekaman dari database untuk penempatan di DataSet.

Contoh

Contoh berikut membuat dan mengatur SelectCommandproperti , , InsertCommandUpdateCommand, dan DeleteCommand .SqlDataAdapter Ini mengasumsikan Anda telah membuat SqlConnection objek.

using Microsoft.Data.SqlClient;

class Program
{
    static void Main()
    {
    }
    public static SqlDataAdapter CreateCustomerAdapter(
        SqlConnection connection)
    {
        SqlDataAdapter adapter = new SqlDataAdapter();

        // Create the SelectCommand.
        SqlCommand command = new SqlCommand("SELECT * FROM Customers " +
            "WHERE Country = @Country AND City = @City", connection);

        // Add the parameters for the SelectCommand.
        command.Parameters.Add("@Country", SqlDbType.NVarChar, 15);
        command.Parameters.Add("@City", SqlDbType.NVarChar, 15);

        adapter.SelectCommand = command;

        // Create the InsertCommand.
        command = new SqlCommand(
            "INSERT INTO Customers (CustomerID, CompanyName) " +
            "VALUES (@CustomerID, @CompanyName)", connection);

        // Add the parameters for the InsertCommand.
        command.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID");
        command.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName");

        adapter.InsertCommand = command;

        // Create the UpdateCommand.
        command = new SqlCommand(
            "UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " +
            "WHERE CustomerID = @oldCustomerID", connection);

        // Add the parameters for the UpdateCommand.
        command.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID");
        command.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName");
        SqlParameter parameter = command.Parameters.Add(
            "@oldCustomerID", SqlDbType.NChar, 5, "CustomerID");
        parameter.SourceVersion = DataRowVersion.Original;

        adapter.UpdateCommand = command;

        // Create the DeleteCommand.
        command = new SqlCommand(
            "DELETE FROM Customers WHERE CustomerID = @CustomerID", connection);

        // Add the parameters for the DeleteCommand.
        parameter = command.Parameters.Add(
            "@CustomerID", SqlDbType.NChar, 5, "CustomerID");
        parameter.SourceVersion = DataRowVersion.Original;

        adapter.DeleteCommand = command;

        return adapter;
    }
}

Keterangan

Ketika SelectCommand ditetapkan ke yang dibuat SqlCommandsebelumnya , SqlCommand tidak dikloning. SelectCommand mempertahankan referensi ke objek yang dibuat SqlCommand sebelumnya.

SelectCommand Jika tidak mengembalikan baris apa pun, tidak ada tabel yang ditambahkan ke DataSet, dan tidak ada pengecualian yang dimunculkan.

Berlaku untuk