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)