DeleteCommand

Свойство предоставляет или устанавливает текст команды (SQL-запроса), используемой для удаления записей из источника данных.

При использовании метода Update в случае, когда это свойство не задано, и данные первичного ключа имеются в объекте DataSet, свойство DeleteCommand создается автоматически, если объект DbDataAdapter связан с объектом DbCommandBuilder.

Декларация
[BrowsableAttribute(false)]
public DbCommand DeleteCommand {get; set;};
Значение свойства

Интерфейс IDbCommand, используемый во время применения метода Update для удаления записей в источнике данных, соответствующих удаленным строкам в наборе данных.

Исключения

Отсутствуют.

Пример
// C#
using System;
using System.Data;
using System.Data.Common;

class DeleteCommandSample
{
  static void Main()
  {
    // Создание фабрики классов провайдера
    DbProviderFactory factory =
      DbProviderFactories.GetFactory("System.Data.LinterClient");
    // Соединение с БД
    DbConnection con = factory.CreateConnection();
    con.ConnectionString =
      "Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8";
    con.Open();
    // Создание таблицы БД
    DbCommand cmd = factory.CreateCommand();
    cmd.Connection = con;
    cmd.CommandText =
      "create or replace table users ( " +
      "id integer primary key, name varchar(70));" +
      "insert into users (id, name) values (0, 'Пользователь A');" +
      "insert into users (id, name) values (1, 'Пользователь B');";
    cmd.ExecuteNonQuery();
    // Создание команды для выборки записей
    DbCommand selectCommand = factory.CreateCommand();
    selectCommand.Connection = con;
    selectCommand.CommandText =
      "select id, name from users";
    // Создание параметра для удаления записи
    DbParameter par = factory.CreateParameter();
    par.ParameterName = ":id";
    par.SourceColumn = "id";
    par.Direction = ParameterDirection.Input;
    par.DbType = DbType.Int32;
    // Создание команды для удаления записи
    DbCommand deleteCommand = factory.CreateCommand();
    deleteCommand.Connection = con;
    deleteCommand.CommandText =
      "delete from users where id = :id";
    deleteCommand.Parameters.Add(par);
    // Создание объекта DbDataAdapter
    DbDataAdapter adapter = factory.CreateDataAdapter();
    adapter.SelectCommand = selectCommand;
    adapter.DeleteCommand = deleteCommand;
    // Заполнение объекта DataTable данными из таблицы БД
    DataTable users = new DataTable();
    adapter.Fill(users);
    // Удаление записей из таблицы DataTable
    users.Rows[0].Delete();
    // Обновление БД
    adapter.Update(users);
    // Отображение таблицы после обновления
    Console.WriteLine("Строки таблицы после обновления:");
    foreach (DataRow row in users.Rows)
    {
      Console.Write("{0}: '{1}' ", row[0], row[1]);
    }
    // Освобождение ресурсов
    con.Close();
  }
}