Шаг 85.
Microsoft Visual C++ 2010. Начала.
Базы данных. База данных Microsoft Access. Доступ к данным (продолжение)

    На этом шаге мы рассмотрим настройку компонента OleDbDataAdapter.

    Компонент OleDbDataAdapter обеспечивает взаимодействие с базой данных. Его свойства содержат SQL-команды выборки (SELECT), добавления (INSERT), изменения (UPDATE) и удаления (DELETE) данных. Свойства компонента OleDbDataAdapter приведены в таблице 1.

Таблица 1. Свойства компонента OleDbDataAdapter
Свойство Описание
SelectCommand SQL-команда SELECT, обеспечивающая выбор информации из базы данных
DeleteCommand SQL-команда DELETE, обеспечивающая удаление информации из базы данных
InsertCommand SQL-команда INSERT, обеспечивающая добавление информации в базу данных
UpdateCommand SQL-команда UPDATE, обеспечивающая обновление информации в базе данных

    Свойства SelectCommand, DeleteCommand, InsertCommand и UpdateCommand представляют собой объекты oleDbCommand, свойства которых (таблица 2) определяют соответствующие SQL-команды.

Таблица 2. Свойства компонента OleDbCommand
Свойство Описание
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.

Таблица 3. Значения свойств компонента OleDbDataAdapter
Свойство Значение
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 email
InsertCommand.Parameters[2].SourceColumn email
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 email
UpdateCommand.Parameters[2].SourceColumn email
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

    На следующем шаге мы закончим изучение этого вопроса.




Предыдущий шаг Содержание Следующий шаг