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)