Класс OleDbDataAdapter используется в тех случаях, когда необходимо заполнить полученными с сервера данными объект DataSet и выполнить с ними определенные операции.
Основное назначение этого класса – извлечь информацию из источника данных и заполнить ею объект DataTable в DataSet при помощи метода OleDbDataAdapter.Fill(). Метод Fill() многократно перегружен, ниже приведены два наиболее часто используемых варианта (возвращаемое значение int позволяет получить информацию о количестве записей, полученных из источника данных):
//Заполняет объект DataSet данными, полученными из таблицы
//на источнике данных с указанным именем
public int Fill(DataSet ds, string tableName);
//Также заполняет данными, но только теми, которые находятся
//в указанных границах
public int Fill(DataSet ds, string tableName, int startRecord, int maxRecord);
Конечно, перед тем, как вызывать этот метод, нужно иметь уже созданный объект OleDbDataAdapter. Конструктор OleDbDataAdapter также многократно перегружен, но обычно необходимо указать информацию о параметрах подключения к базе данных и команду SELECT на языке SQL, которая будет использована для заполнения DataTable.
OleDbDataAdapter позволяет не только заполнять объект DataTable внутри DataSet данными, полученными из источника, но и помещать измененные данные обратно в источник данных при помощи стандартных команд SQL. В таблице 1.4 представлены компоненты класса OleDbDataAdapter, которые позволяют это сделать, а также некоторые другие важнейшие элементы этого класса.
Таблица 1.4 – Основные компоненты класса OleDbDataAdapter
Компонент | Описание |
DeleteCommand InsertCommand SelectCommand UpdateCommand | Используются для определения того, какая именно команда SQL будет передана на источник данных при вызове метода Update(). Каждое из этих свойств определяется при помощи объектов OleDbCommand |
Fill() | Заполняет указанную таблицу в DataSet определенным пользователем количеством записей |
GetFillParameters() | Возвращает все параметры, использованные при выполнении SELECT к источнику данных |
Update() | Вызывает соответствующие команды INSERT, UPDATE, DELETE к источнику данных для каждой вставленной, измененной или удаленной строки в таблице объекта DataSet |
При использовании свойств DeleteCommand, InsertCommand, SelectCommand, UpdateCommand объект OleDbDataAdapter автоматически переводит внесенные изменения в таблицу данных в DataSet в соответствующие команды на языке SQL, сохраняя, таким образом, внесенные изменения в источнике данных. Эти свойства позволяют определить соответствующие команды SQL в деталях.