Udostępnij za pośrednictwem


SqlDataAdapter.DeleteCommand Właściwość

Definicja

Pobiera lub ustawia instrukcję Języka Transact-SQL lub procedurę składowaną w celu usunięcia rekordów z zestawu danych.

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

Wartość właściwości

Używany SqlCommand podczas Update(DataSet) usuwania rekordów w bazie danych, które odpowiadają usuniętym wierszom w obiekcie DataSet.

Przykłady

Poniższy przykład tworzy obiekt SqlDataAdapter i ustawia SelectCommandwłaściwości , InsertCommand, UpdateCommandi DeleteCommand . Przyjęto założenie, że obiekt został już utworzony SqlConnection .

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

Uwagi

Jeśli Updateta właściwość nie jest ustawiona, a informacje o kluczu podstawowym znajdują się w elemecie DataSet, DeleteCommand można je wygenerować automatycznie, jeśli właściwość zostanie ustawiona SelectCommand i użyj polecenia SqlCommandBuilder. Następnie wszystkie dodatkowe polecenia, które nie zostały ustawione, są generowane przez SqlCommandBuilderelement . Ta logika generowania wymaga, aby informacje o kolumnie klucza znajdują się w elemecie DataSet. Aby uzyskać więcej informacji, zobacz Generowanie poleceń za pomocą poleceń CommandBuilders.

Po DeleteCommand przypisaniu do utworzonego wcześniej elementu SqlCommandelement SqlCommand nie jest klonowany. Obiekt DeleteCommand zachowuje odwołanie do wcześniej utworzonego SqlCommand obiektu.

Dla każdej kolumny, która jest propagowana do źródła danych w systemie Update, parametr powinien zostać dodany do InsertCommandelementu , UpdateCommandlub DeleteCommand. Właściwość SourceColumn parametru powinna być ustawiona na nazwę kolumny. Oznacza to, że wartość parametru nie jest ustawiana ręcznie, ale jest pobierana z określonej kolumny w aktualnie przetworzonym wierszu.

Dotyczy