Aracılığıyla paylaş


SqlDataAdapter.DeleteCommand Özellik

Tanım

Veri kümesinden kayıtları silmek için transact-SQL deyimini veya saklı yordamı alır veya ayarlar.

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

Özellik Değeri

SqlCommand veritabanındaki içindeki silinen satırlara DataSetkarşılık gelen kayıtları silmek 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 DataSetDeleteCommand 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 DeleteCommand kopyalanmaz. , DeleteCommand daha önce oluşturulan SqlCommand nesneye bir başvuru tutar.

ü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