DataAdapter
Предоставляет или устанавливает объект DbDataAdapter, который связан с объектом DbCommandBuilder (т.е. данное свойство определяет объект DbDataAdapter, для которого автоматически генерируются SQL-запросы обновления таблицы).
Объект DbCommandBuilder регистрирует себя в качестве обработчика событий RowUpdating, которые генерируются объектом DbDataAdapter, указанным в этом свойстве.
Когда создается новый экземпляр объекта DbCommandBuilder, то все связанные с ним объекты DbDataAdapter освобождаются.
Декларация
public DbDataAdapter DataAdapter {get; set;};
Значение свойства
Объект DbDataAdapter.
Исключения
Отсутствуют.
Пример
// 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 = "User ID=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; // Получение данных из БД DataTable dt = new DataTable(); adapter.Fill(dt); // Изменение данных dt.Rows[0][0] = DateTime.Now; // Связывание объектов DbDataAdapter и DbCommandBuilder DbCommandBuilder builder = factory.CreateCommandBuilder(); builder.DataAdapter = adapter; // Обновление данных adapter.Update(dt); // Отображение сгенерированного запроса Console.WriteLine(builder.GetUpdateCommand().CommandText); // Освобождение ресурсов builder.Dispose(); // Закрытие подключения к БД con.Close(); } } Результат выполнения примера: UPDATE "SYSTEM"."AUTO" SET "MAKE" = :param1, "PERSONID" = :param2 WHERE (((:param3 = 1 AND "MAKE" IS NULL) OR ("MAKE" = :param4)) AND ("PERSONID" = :param5))