Доступ к данным с помощью управляемого провайдера OLE DB

Создание базы данных в Microsoft Access

Пример выполнения работы

Доступ к базам данных (БД) из приложения

 

Задание: База данных из двух связанных таблиц «База данных» создана в Microsoft Access. Следует реализовать доступ к этой базе данных с помощью управляемого провайдера OLE DB.

 

База данных «Склад магазина» состоит из двух связанных таблиц: Shops и Goods. Структура таблиц приведена ниже:

 

Shops
Id Goods Provides
Телефоны ООО "Электро"
Шоколад ОАО "Бабаевский"
Шампуни "Handle-shoulders"

 

Goods
Number goods Goods categories Product Amount
Новые Уличные 1 шт.
Продовольственные "Шарм" 5 кг
Удобрения Шампунь 20 шт.

 

Таблицы связываются между собой по номеру записи в таблице магазинов. Данная связь показана на рисунке 1.

 

 

Рисунок 1 – Связывание таблиц БД

 

 

Для работы с базой данных из приложения нужно создать подключение к базе данных. Для этого нужно выбрать команду Вид®Обозреватель серверов (View®Server Explorer) (см. рисунок 2).

 

 

Рисунок 2

 

Появляется вкладка, представленная на рисунке 3.

 

 

Рисунок 3 – Обозреватель серверов

 

Затем нужно щелкнуть правой кнопкой мыши «Подключения данных (Data Connections)», выбрать в появившемся контекстном меню «Добавить подключение (Add Connection)». Отрывается диалоговое окно, представленное на рисунке 4.

 

 

Рисунок 4 – Создание подключения к БД

 

Следующий шаг – создание адаптера (компонент, выполняющий непосредственную передачу данных между приложением и базой данных. Для этого нужно выбрать команду Проект®Добавить компонент (Project®Add Component) (см. рисунок 5).

 

 

Рисунок 5

 

 

В открывшемся диалоговом окне необходимо выбрать компонент «Набор данных (DataSet)» (см. рисунок 6).

 

 

Рисунок 6

 

 

Открывается вкладка DataSet1.xsd. В открывшуюся вкладку следует поместить из панели элементов компонент TableAdapter. При этом открывается окно мастера настройки адаптера (см. рисунок 7).

 

 

Рисунок 7

Внимание!После нажатия на кнопку Далее (Next) мастером настройки будет предложен вариант работы с БД, в котором при каждом запуске программы будет создаваться копия базы данных в папке приложения. На данном шаге нужно нажать кнопку Нет (No)!

Далее можно задать команды SQL для загрузки данных в приложение. Кнопка Построитель запросов (Query Builder) предлагает визуальный метод построения данной команды. В открывшемся окне Добавление таблицы (Add Table) следует добавить в построитель запросов главную таблицу БД – таблицу Shops, затем отметить в этой таблицы все столбцы (см. рисунок 8).

 

 

Рисунок 8 – Построение команды SQL для доступа к таблице Shops

 

Аналогично добавляется адаптер для таблицы Goods. После этого следует добавить отношение – связь между таблицами БД. Для этого в окне DataSet1.xsd нужно выбрать в контекстном меню команду Добавить отношение (Add Relation). Открывается диалоговое окно редактирования отношения, где можно задать родительскую и подчиненную таблицы, ключевые поля и режимы автоматических изменений дочерней таблицы. Имя отношения задается автоматически. Его настройки приведены на рисунке 9.

 

 

Рисунок 9 – создание отношения между таблицами

 

Внешний вид работающего приложения приведен на рисунке 10.

 

 

Рисунок 10 – Главная форма приложения

 

Для отображения данных, полученных из базы, в программе будут использоваться компоненты DataGridView, по одному для каждой таблицы. Таблицам dataGridView1 и dataGridView2 нужно установить свойство DataSource, задающее источник данных для отображения в таблицы, shopsBindingSourse и goodsBindingSourse соответсвенно.