GetInsertCommand

Метод предоставляет автоматически сгенерированный для выполнения операций добавления записей в БД объект DbCommand.

Клиентское приложение может с помощью метода GetInsertCommand получить сгенерированный SQL-запрос INSERT и, при необходимости, модифицировать его (например, изменить значение CommandTimeout, а затем явно задать это значение для DbDataAdapter). В этом случае приложение должно явным образом вызвать метод RefreshSchema, если каким-либо образом изменится SELECT-запрос в свойстве DbDataAdapter.SelectCommand. В противном случае метод GetInsertCommand будет продолжать использовать сведения от предыдущих команд, которые могут оказаться неверными.

Первоначально SQL-команды создаются, когда приложение вызывает метод Update, либо метод GetInsertCommand.

Синтаксис
public DbCommand GetInsertCommand();
Возвращаемое значение

Автоматически созданный объект DbCommand, содержащий текст SQL-запроса для добавления записей в таблицу БД.

Исключения

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

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

class CommandBuilderSample
{
  static void Main()
  {
    // Создание фабрики классов провайдера
    DbProviderFactory factory =
      DbProviderFactories.GetFactory("System.Data.LinterClient");
    // Соединение с БД
    DbConnection con = factory.CreateConnection();
    con.ConnectionString = "DataSource=LOCAL;UserID=SYSTEM;Password=MANAGER8";
    con.Open();
    DbCommand cmd = factory.CreateCommand();
    cmd.CommandText = "select MAKE, PERSONID from AUTO";
    cmd.Connection = con;
    DbDataAdapter adapter = factory.CreateDataAdapter();
    adapter.SelectCommand = cmd;
    // Связывание объектов DbDataAdapter и DbCommandBuilder
    DbCommandBuilder builder = factory.CreateCommandBuilder();
    builder.DataAdapter = adapter;
    // Отображение автоматически сгенерированной команды INSERT
    Console.WriteLine(builder.GetInsertCommand().CommandText);
    // Освобождение ресурсов
    builder.Dispose();
    // Закрытие подключения к БД
    con.Close();
  }
}

Результат выполнения примера:

INSERT INTO "SYSTEM"."AUTO" ("MAKE", "PERSONID") VALUES (:param1, :param2)