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