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