10
Реализация доступа к базам данных
Библиотека MFC поддерживает два различных типа доступа к базам данных:
• через ODBC драйверы; .
• через объекты доступа к данным (Data Access Objects -DAO) машины баз данных (СУБД) Microsoft.
Оба этих подхода позволяют создавать приложения, использующие различные типы баз данных.
В этой главе более подробно будут рассмотрены классы библиотеки MFC, реализующие доступ к базам данных через ODBC-драйверы.
Для того чтобы приложение могло отображать данные из таблиц базы данных, вносить в них изменения и передавать изменения в базу данных, достаточно, чтобы был установлен драйвер ODBC для используемой базы данных.
Приложения, работающие с базами данных, могут быть реализованы как в рамках архитектуры документ-отображение, так и как приложения-диалоги.
Создание приложения с использованием AppWizard
Средства AppWizard позволяют практически без всякого программирования разрабатывать приложения, выполняющие подключение к таблице базы данных и отображение содержимого ее полей.
► Для того чтобы создать приложение, работающее с таблицей баз данных можно выполнить следующую последовательность действий: 1. Определить источник данных DSN (DataSourceName) в диалоге ODBC панели управления Windows (рис. 10.1). Для этого следует выбрать вкладку User DSN и, щелкнув на кнопке Add, выбрать в появившемся диалоговом окне требуемый драйвер ODBC, а затем ввести имя источника данных. Определение имени источника данных выполняется только один раз и затем может быть многократно использовано для создания всех приложений, использующих этот драйвер ODBC.
Рис. 10.1. Определение драйвера ODBC для источника данных DSN
Далее для того, чтобы иметь возможность использовать ODBC-драйвер для источника данных DSN, следует определить файлы DSN (рис. 10.2). Для этого следует щелкнуть на кнопке Add и в появившемся диалоговом окне выбрать имя файла. Это могут быть базы данных или отдельные таблицы, текстовые файла, файлы Microsoft Excel. Этот этап должен выполняться для каждой таблицы, доступ к которой требуется в разрабатываемом приложении. Фактически здесь устанавливается связь между файлами и источником данных DSN. Для каждого файла, "подключенного" к источнику данных, создается текстовый информационный файл с расширением DSN.
Рис. 10.2. Добавление файлов для источника данных DSN
2. Средствами AppWizard создать SDI-приложение, указав на втором шаге диалога поддержку доступа к базе данных, выбрав в качестве ODBC драйвер источника данных DSN (рис. 10.3) и определив имя таблицы базы данных. Список всех доступных таблиц появится в отдельном диалоге после выбора источника данных ODBC.
Далее AppWizard автоматически создаст шаблон приложения.
3. Для того чтобы можно было просматривать поля базы данных, для них нужно создать соответствующие элементы управления. Это можно сделать в редакторе ресурсов диалога. В диалоговом окне, предназначенном для отображения документа, расположить элементы управления (например, окно редактирования) для значений полей базы данных.
Рис. 10.3. AppWizard - определение источника данных DSN
4. Используя ClassWizard, указать переменные, связывающие поля базы данных с элементами управления диалогового окна (рис. 10.4). Такие переменные автоматически будут созданы средствами AppWizard для класса отображения, производного от CRecordView.
Рис. 10.4. ClassWizard - связывание переменных членов класса набора записей с элементами управления
Созданное приложение будет содержать панель инструментов с кнопками для перехода между записями таблицы базы данных.
Сами записи базы данных будут отображаться в окне документа в элементах управления окно редактирования.
На рис. 10.5 приведен результат выполнения созданного мастером AppWizard приложения.
Рис. 10.5. SDI-приложение для просмотра записей из таблицы FoxPro