Реализация доступа к базам данных в среде DELPHI
Механизмы доступа к БД
VCL-библиотека классов среды проектирования Delphi предоставляет ряд классов, позволяющих быстро и эффективно разрабатывать различные приложения баз данных.
Эти классы представлены следующими группами:
- компоненты для доступа к данным, реализующие:
- доступ через машину баз данных BDE (Borland Database Engine), предоставляющую доступ через ODBC-драйверы или через внутренние драйверы машины баз данных BDE (компоненты страницы BDE-палитры инструментов);
- доступ через ADO-объекты (ActiveX Data Objects), в основе которого лежит применение технологии OLE DB (компоненты страницы ADO);
- доступ к локальному или удаленному SQL-серверу InterBase (компоненты страницы InterBase);
- доступ посредством легковесных драйверов dbExpress;
- доступ к БД при многозвенной архитектуре (компоненты страницы DataSnap);
- визуальные компоненты, реализующие интерфейс пользователя;
- компоненты для связи источников данных с визуальными компонентами, предоставляющими интерфейс пользователя;
- компоненты для визуального проектирования отчетов.
Основными механизмами доступа к данным, поддерживаемым в Delphi, являются:
- ODBC - доступ через ODBC-драйверы БД или BDE-драйверы;
- OLE DB - доступ с использованием провайдеров данных (OLE DB - это метод доступа к любым данным через стандартный COM-интерфейс);
- средства dbExpress, использующие легковесные драйверы БД;
- средства доступа к распределенным наборам данных в многозвенной архитектуре.
Самый простой механизм управления данными, использующий ODBC-драйверы, может быть реализован по следующей схеме:
- В модуль данных (или в форму) добавляется компонент набора данных (объект класса TDataSet ) и устанавливается связь с источником данных, определяемая свойством DatabaseName. Связь может быть указана одним из трех способов: по имени базы данных, каталогу или псевдониму (способ указания связи может быть ограничен типом источника данных). Список всех псевдонимов доступен на этапе проектирования.
- В модуль данных (или в форму) добавляется компонент источника данных ( TDataSourse ), являющийся центральным связующим звеном между набором данных и элементами управления, отображающими эти данные. Свойство DataSet компонента типа TDataSourse указывает набор данных, формируемый компонентами таких классов как TTable или TQuery. Если компоненты набора данных и источника данных расположены в модуле данных, то их следует добавить в проект (команда меню File | Use unit ).
- В форму добавляются элементы управления для работы с данными, такие как TDBGrid, TDBEdit, TDBCheckbox. Они связываются с компонентом источником данных, который указывается свойством DataSource. Имя поля набора данных определяется свойством DataField.
Графически схему работы с базами данных для двухзвенных архитектур в среде Delphi можно представить следующим образом:
Для сохранения данных из БД в XML-формате или двоичном формате, и обратно, для формирования набора данных из XML или двоичного файла применяется провайдер данных.
Графически схема сохранения данных из БД в XML-формате приведена на следующей схеме:
Набор данных (TTable, TQuery или др.) | |||
---|---|---|---|
(свойство DataSet) | |||
Клиентский набор данных TClientDataSet | (свойство ProviderName) | Провайдер данных TDataSetProvider | |
(метод SaveToFile) | (метод LoadFromFile) | ||
Файл в одном из следующих форматов: двоичный формат (dfBinary); XML-формат (dfXML); XML-формат, использующий UTF8 (dfXMLUTF8) |