Механизмы доступа к БД
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 можно представить следующим образом:
TADODataSet, TADOTable, TADOQuery | TSQLDataSet, TSQLQuery, TSQLTable, TSQLStoreProc, TSQLClientDataSet | TIBDataSet, TIBTable, TIBQury | ||||
Графически схема сохранения данных из БД в XML-формате приведена на следующей схеме:
(свойство DataSet) | |||
(свойство ProviderName) | Провайдер данных TDataSetProvider|||
(метод SaveToFile) | (метод LoadFromFile) | ||