C++. Подключение базы данных Microsoft Access к Windows-приложению




Подключение базы данных Microsoft Access к Windows-приложению


Содержание


Поиск на других ресурсах:

Условие задачи

Задана база данных в файле «db1.mdb«, сформированным в системе Microsoft Access. База данных содержит три таблицы. Необходимо подключить базу данных к Windows-приложению в системе C++ Builder.

Выполнение

1. Запустить Code Gear C++ Builder 2007. Создать проект

Пример запуска C++ Builder и создания нового Windows-приложения подробно описывается здесь.Сохранить проект под любым именем.

 

2. Подготовка файла базы данных

Рекомендуется скопировать файл базы данных в каталог с файлами разрабатываемого приложения. Этот шаг не обязателен.

 

3. Компонент TADOConnection

Поскольку, в соответствии с условием задачи, имеем базу данных сформированную в системе Microsoft Access, то для работы с ней подходят компоненты из вкладки dbGo.

Непосредственно за подключение к базе данных отвечает компонент TADOConnection.

Выносим этот компонент на главную форму приложения (рис. 1).

C++ Builder компонент TADOConnection

Рис. 1. Компонент TADOConnection

В Object Inspector этому компоненту, по умолчанию, будет отвечать объект-переменная ADOConnection1 (свойство Name).






 

4. Свойство ConnectionString

Чтобы осуществить подключение к базе данных необходимо настроить свойство ConnectionString компонента ADOConnection1.

C++ Builder Свойство ConnectionString TADOConnection

Рис. 2. Свойство ConnectionString компонента TADOConnection

Настройка свойства ConnectionString осуществляется с помощью мастера. Для вызова мастера делаем клик на кнопке «…» в поле свойства ConnectionString.

В результате откроется окно в котором нужно выбрать источник соединения (рис. 3).

База данных источник соединениеРис. 3. Выбор источника соединения с базой данных

Система предлагает два варианта выбора источника связи. Первый вариант «Use Data Link File» использует файлы связи с данными (имеют расширение «*.udl» и «*.dsn«), которые используют программный интерфейс ODBC для доступа к базам данных.

Во втором варианте нужно задать непосредственно строку связи с файлом базы данных.

В нашем случае выбираем второй вариант, кликаем на кнопке «Build…«.

Открывается окно «Свойства связи с данными«, в котором нужно выбрать поставщиков OLE DB (рис. 4).

База данных OLE DB поставщикРис. 4. Выбор поставщика данных

Для нашего случая выбираем «Microsoft Jet OLE DB Provider«. Кликаем на кнопке «Далее>>» после чего будет активизирована вкладка «Подключение» (рис. 5).

База данных поставщик Microsoft Jet 4.0 OLE DB ProviderРис. 5. Выбор поставщика Microsoft Jet 4.0 OLE DB Provider

Следующим шагом есть выбор файла базы данных. В поле «1. Выберите или введите имя базы данных» выбираем кнопку ««. Откроется стандартное окно выбора файла (рис. 6).

Microsoft Access файл база данных

Рис. 6. Выбор файла базы данных

Находим файл (должен быть в папке со всеми файлами программы) и кликаем на «Открыть». Следует обратить внимание, что в поле «Тип файлов» будет выбрано «Базы данных Microsoft Access (*.mdb)«.

После выбора файла базы данных тестуем подключения кликом на кнопке «Проверить подключение«. Если все было выполнено правильно, то система выдаст такое окно (рис. 7):

C++ Builder тестирование подключенияРис. 7. Окно сообщения о результате тестирования подключения

Кликаем на ОК. В следующем окне «Свойства связи с данными» также кликаем на OK.

В предшествующем окне «Form1->ADOConnection1 ConnectionString» будет сформирована строка связи с базой данных «db1.mdb»  (рис. 8).

C++ Builder строка ConnectionStringРис. 8. Получение строки ConnectionString

После этого наше приложение будет подключено к базе данных Microsoft Access, которая размещается в файле «db1.mdb«.

 

5. Свойство LoginPrompt

Для того, чтобы постоянно не вводить пароль и регистрационное имя всякий раз при подключении к базе данных, рекомендуется свойство LoginPrompt компонента ADOConnection1 установить в значение false.

После этого можно подключать другие компоненты, которые обеспечат организацию работы с базой данных и ее визуализацию в приложении.