На этом шаге мы рассмотрим настройку компонента OleDbDataAdapter.
Компонент OleDbDataAdapter обеспечивает взаимодействие с базой данных. Его свойства содержат SQL-команды выборки (SELECT), добавления (INSERT), изменения (UPDATE) и удаления (DELETE) данных. Свойства компонента OleDbDataAdapter приведены в таблице 1.
Свойство | Описание |
---|---|
SelectCommand | SQL-команда SELECT, обеспечивающая выбор информации из базы данных |
DeleteCommand | SQL-команда DELETE, обеспечивающая удаление информации из базы данных |
InsertCommand | SQL-команда INSERT, обеспечивающая добавление информации в базу данных |
UpdateCommand | SQL-команда UPDATE, обеспечивающая обновление информации в базе данных |
Свойства SelectCommand, DeleteCommand, InsertCommand и UpdateCommand представляют собой объекты oleDbCommand, свойства которых (таблица 2) определяют соответствующие SQL-команды.
Свойство | Описание |
---|---|
Connection | Объект OleDbConnection, обеспечивающий соединение с базой данных |
CommandText | SQL-команда |
Parameters | Параметры команды. Коллекция объектов OleDbParameter |
Выполнить настройку компонента OleDbDataAdapter можно при помощи мастера настройки или вручную.
Рассмотрим настройку с помощью мастера (вызов мастера - щелчок правой кнопкой мыши и выбор из контекстного меню пункта Настроить адаптер данных... (рисунок 1).
Рис.1. Вызов мастера
Первое окно мастера (рисунок 2) появляется в результате добавления на форму компонента OleDbDataAdapter.
Рис.2. Мастер настройки компонента OleDbDataAdapter (шаг 1)
В этом окне надо выбрать Подключение для использования адаптером данных (connection) и нажать кнопку Next (Далее). В следующем окне (рисунок 3) также надо нажать кнопку Next (Далее).
Рис.3. Мастер настройки компонента OleDbDataAdapter (шаг 2)
В окне (рисунок 4), которое появляется на третьем шаге, надо нажать кнопку Query Builder (Построитель запросов...), а затем в окне Add Table (Добавление таблицы) (рисунок 5) выбрать таблицу данных и нажать кнопку Add (Добавить).
Рис.4. Мастер настройки компонента OleDbDataAdapter (шаг 3)
Рис.5. Выбор таблицы данных
Далее в окне Query Builder (Построитель запросов) (рисунок 6) следует указать поля таблицы, из которых надо выбрать данные. Если необходимо получить данные из всех полей — выберите All Columns (Все столбцы).
Рис.6. Построение запроса к БД
В следующем окне (рисунок 7), которое появляется в результате нажатия кнопки OK, надо сделать щелчок на кнопке Finish (Готово).
Рис.7. Чтобы завершить настройку соединения, нажмите кнопку Finish (Готово)
В результате выполнения описанных действий компонент OleDbDataAdapter будет настроен — в свойства SelectCommand, DeleteCommand, InsertCommand и UpdateCommand будут записаны команды, обеспечивающие взаимодействие с базой данных.
При "ручной" настройке компонента OleDbDataAdapter в первом окне мастера настройки надо нажать кнопку Cancel (Отмена) и затем установить значения свойств компонента. В свойства SelectCommand, DeleteCommand, InsertCommand и UpdateCommand надо ввести соответствующие команды. Если команда предполагает использование параметров, то в позиции параметра указывается символ "?". Например, команда добавления информации в таблицу contacts выглядит так:
INSERT INTO contacts(name, phone, email, img) VALUES (?, ?, ?, ?)
Если у команды есть параметры, то в коллекцию Parameters этой команды надо добавить соответствующее количество элементов. Для этого в окне Properties (Свойства) в строке значения свойства Parameters надо сделать щелчок на кнопке с тремя точками (рисунок 8), в появившемся окне OleDbParameter Collection Editor (Редактор коллекции OleDbParameter) нужное количество раз нажать кнопку Add (Добавить) и задать значения свойств параметров (рисунок 9).
Рис.8. Чтобы добавить параметры, нажмите кнопку с тремя точками
Рис.9. Настройка параметров команды
Результат "ручной" настройки компонента OleDbDataAdapter приведен в таблице 3.
Свойство | Значение |
---|---|
SelectCommand.Connection | oleDbConnection1 |
SelectCommand.CommandText | SELECT * FROM contacts |
InsertCommand.Connection | oleDbConnection1 |
InsertCommand.CommandText | INSERT INTO contacts (name, phone, email, img) VALUES (?, ?, ?, ?) |
InsertCommand.Parameters[0].ParameterName | name |
InsertCommand.Parameters[0].SourceColumn | name |
InsertCommand.Parameters[1].ParameterName | phone |
InsertCommand.Parameters[1].SourceColumn | phone |
InsertCommand.Parameters[2].ParameterName | |
InsertCommand.Parameters[2].SourceColumn | |
InsertCommand.Parameters[3].ParameterName | img |
InsertCommand.Parameters[3].SourceColumn | img |
UpdateCommand.Connection | oleDbConnection1 |
UpdateCommand.CommandText | UPDATE contacts SET name = ?, phone = ?, email = ?, img = ? WHERE (cid = ?) |
UpdateCommand.Parameters[0].ParameterName | name |
UpdateCommand.Parameters[0].SourceColumn | name |
UpdateCommand.Parameters[1].ParameterName | phone |
UpdateCommand.Parameters[1].SourceColumn | phone |
UpdateCommand.Parameters[2].ParameterName | |
UpdateCommand.Parameters[2].SourceColumn | |
UpdateCommand.Parameters[3].ParameterName | img |
UpdateCommand.Parameters[3].SourceColumn | img |
UpdateCommand.Parameters[4].ParameterName | Original_cid |
UpdateCommand.Parameters[4].SourceColumn | cid |
UpdateCommand.Parameters[4].SourceVersion | Original |
DeleteCommand.Connection | oleDbConnection1 |
DeleteCommand.CommandText | DELETE FROM contacts WHERE (cid = ?) |
DeleteCommand.Parameters[0].ParameterName | cid |
DeleteCommand.Parameters[0].SourceColumn | cid | DeleteCommand.Parameters[0].SourceVersion | Original |
На следующем шаге мы закончим изучение этого вопроса.