Aracılığıyla paylaş


SqlDataAdapter.InsertCommand Özellik

Tanım

Veri kaynağına yeni kayıtlar eklemek için transact-SQL deyimini veya saklı yordamı alır veya ayarlar.

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

Özellik Değeri

SqlCommand içinde yeni satırlara DataSetkarşılık gelen kayıtları veritabanına eklemek için kullanılırUpdate(DataSet).

Örnekler

Aşağıdaki örnek bir SqlDataAdapter oluşturur ve , InsertCommand, UpdateCommandve DeleteCommand özelliklerini ayarlarSelectCommand. Zaten bir SqlConnection nesne oluşturduğunuz varsayılır.

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;
    }
}

Açıklamalar

sırasındaUpdate, bu özellik ayarlanmazsa ve birincil anahtar bilgileri içinde DataSetInsertCommand bulunursa, özelliğini ayarlar SelectCommand ve kullanırsanız SqlCommandBuilderotomatik olarak oluşturulabilir. Ardından ayarlamadığınız tüm ek komutlar tarafından SqlCommandBuilderoluşturulur. Bu oluşturma mantığı, anahtar sütun bilgilerinin içinde DataSetmevcut olmasını gerektirir. Daha fazla bilgi için bkz. CommandBuilders ile Komut Oluşturma.

daha önce oluşturulmuş SqlCommandSqlCommand bir öğesine atandığında InsertCommand kopyalanmaz. , InsertCommand daha önce oluşturulan SqlCommand nesneye bir başvuru tutar.

Bu komutun yürütülmesi satırları döndürürse, nesnenin DataSetUpdatedRowSource özelliğini nasıl ayarladığınıza bağlı olarak bu satırlar SqlCommand öğesine eklenebilir.

üzerindeki Updateveri kaynağına yaydığınız her sütun için , UpdateCommandveya DeleteCommandöğesine bir parametre eklenmelidirInsertCommand. SourceColumn parametresinin özelliği sütunun adına ayarlanmalıdır. Bu, parametrenin değerinin el ile ayarlanmadığını, ancak o anda işlenen satırdaki belirli bir sütundan alındığını gösterir.

Şunlara uygulanır