InsertCommand
Свойство предоставляет или устанавливает текст команды (SQL-запроса), используемой для добавления записей в источник данных.
При использовании метода Update в случае, когда это свойство не задано, и данные первичного ключа имеются в объекте DataSet, свойство InsertCommand будет создаваться автоматически, если объект DbDataAdapter связан с объектом DbCommandBuilder.
Декларация
[BrowsableAttribute(false)]
public DbCommand InsertCommand {get; set;};
Значение свойства
Интерфейс IDbCommand, используемый во время применения метода Update для вставки записей, соответствующих новым строкам в наборе данных, в источник данных.
Исключения
Отсутствуют.
Пример
// C#
using System;
using System.Data;
using System.Data.Common;
class InsertCommandSample
{
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))";
cmd.ExecuteNonQuery();
// Создание команды для выборки записей
DbCommand selectCommand = factory.CreateCommand();
selectCommand.Connection = con;
selectCommand.CommandText =
"select id, name from users";
// Создание параметров для добавления записей
DbParameter parId = factory.CreateParameter();
parId.ParameterName = ":id";
parId.SourceColumn = "id";
parId.Direction = ParameterDirection.Input;
parId.DbType = DbType.Int32;
DbParameter parName = factory.CreateParameter();
parName.ParameterName = ":name";
parName.SourceColumn = "name";
parName.Direction = ParameterDirection.Input;
parName.DbType = DbType.String;
parName.Size = 70;
// Создание команды для добавления записи
DbCommand insertCommand = factory.CreateCommand();
insertCommand.Connection = con;
insertCommand.CommandText =
"insert into users (id,name) values (:id,:name)";
insertCommand.Parameters.Add(parId);
insertCommand.Parameters.Add(parName);
// Создание объекта DbDataAdapter
DbDataAdapter adapter = factory.CreateDataAdapter();
adapter.SelectCommand = selectCommand;
adapter.InsertCommand = insertCommand;
// Заполнение объекта DataTable данными из таблицы БД
DataTable users = new DataTable();
adapter.Fill(users);
// Добавление записей в таблицу DataTable
users.Rows.Add(0, "Пользователь A");
users.Rows.Add(1, "Пользователь B");
// Обновление БД
adapter.Update(users);
// Отображение таблицы после обновления
Console.WriteLine("Строки таблицы после обновления:");
foreach (DataRow row in users.Rows)
{
Console.WriteLine("{0}: '{1}' ", row[0], row[1]);
}
// Освобождение ресурсов
con.Close();
}
}