Доступ к данным с помощью управляемого провайдера 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 соответсвенно.