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