Средства Borland Delphi для работы с БД
Система программирования Delphi заслуженно считается эффективным инструментом создания приложений баз данных. Это определяется наличием разнообразных компонентов и технологий, ориентированных на эту область применения и поставляемых с Delphi.
Применяемые утилиты и технологии
Сервер баз данных InterBase – мощный, компактный и достаточно простой в администрировании. Сервер InterBase создан дочерним отделением Borland – InterBase Software Corporation.
BDE (Borland Database Engine) – высокопроизводительная машина (интерфейс) доступа к данным разного формата. Основные особенности BDE:
представляет собой набор DLL-библиотек, которые обеспечивают удобный доступ к БД независимо от архитектуры (формата) БД;
БД может локальной, файл-серверной, клиент-серверной (BDE содержит два набора собственных драйверов для различных архитектур):
для локальных, файл-серверных БД – типа dBase, Paradox, FoxPro, Access;
набор SQL Links – для клиент-серверных СУБД InterBase, DB2 (IBM), ORACLE, MS SQL Server.
использование BDE позволяет не привязывать программу к конкретной СУБД (например, для перехода с файл-серверной БД dBase на клиент-серверную СУБД InterBase достаточно изменить несколько настроек BDE, а также незначительно подкорректировать исходные тексты);
интерфейс BDE должен устанавливаться на каждом ПК (за исключением трехзвенной архитектуры), который использует его в приложении для работы с БД (недостаток: возможные проблемы с установкой и настройкой BDE; преимущество: защищенность программного кода от простого копирования);
корпорация Borland официально объявила о возможном отказе от интерфейса BDE в своих будущих разработках, но пока эта технология применяется и поддерживается.
BDE Administrator – утилита для установки и конфигурирования псевдонима (имени, alias) базы данных. Alias содержит:
параметры БД и драйверов БД на конкретном ПК;
каталог размещения БД;
может быть настроено имя пользователя, пароль.
То есть в данном случае приложение Delphi осуществляет доступ к БД по её псевдониму (alias).
DBD (Database Desktop) – утилита для создания, изменения, просмотра БД. DBD ориентирована прежде всего на работу с локальными СУБД.
SQL Explorer – универсальная утилита, совмещающая функции BDE Administrator и DBD. Позволяет:
создавать, просматривать псевдонимы БД;
просматривать структуры и содержимое таблиц БД;
создавать и выполнять SQL-запросы к БД.
Database Form Wizard – мастер подключения к БД. Запускается в среде Delphi 6,7: пункт меню Database, команда Form Wizard.
ODBC (Open Databases Connectivity Interface). Вместо собственных драйверов Borland разработчики могут использовать драйверы сторонних производителей, соответствующие стандарту ODBC – открытый интерфейс взаимодействия с базами данных.
Имеются (начиная с версии 6) возможности использования альтернативных BDE средств доступа: технологии Inter Base Express, dbExpress, Web snap, Internet, Internet Express, Web services, а также dbGO (ADO) (ActiveX Data Object) компании Microsoft. Появились многочисленные компоненты Delphi, поддерживающие разработку приложений баз данных и обеспечивающие решение самых разных задач: выборку и сортировку данных, их наглядное представление (в том числе и графическое), изменение и публикацию данных в виде отчетов (документов) или HTML-страниц в Интернете и т. д.
Компоненты Borland Delphi для работы с БД
Верхняя группа компонентов. Отображаемые визуальные компоненты страницы Data Controls отображают поставляемые им данные, и служит для создания удобного интерфейса пользовательского приложения, то есть для ввода-вывода (отображения) записей или отдельных полей данных на форме приложения. Основные компоненты:
TDBGrid – отображение записей в виде таблицы;
TDBEdit, TDBText – отображение значения одного поля таблицы;
TDBNavigator – панель навигации по записям таблицы;
TDBImage – отображение рисунков графических полей таблицы;
TDBMemo – отображение текста из полей типа Memo;
TDBLookupComboBox – выпадающий список значений одного поля таблицы.
Промежуточная группа неотображаемых компонентов (страница Data Access). Между нижней группой и отображаемыми (визуальными) компонентами обязательно располагаются компоненты типа TDataSource.
Эти неотображаемые компоненты являются источниками данных для отображаемых компонентов.
Эти компоненты открывают, закрывают или переключают потоки данных, которыми обмениваются рабочие компоненты нижнего уровня с отображаемыми компонентами. Некоторые компоненты:
TDataSource – для подключения отображаемых компонентов к БД;
TClientDataSet - для подключения к базе данных удаленного сервера.
Рисунок 1 – Доступ приложения к базе данных с помощью компонентов
Неотображаемые компоненты нижнего уровня осуществляют непосредственную работу с интерфейсом доступа к базе данных. В палитре компонентов Delphi неотображаемые компоненты доступа содержатся на страницах dbGO (или ADO) (, , , ,) и BDE (TDatabase, TTable, TQuery, TstoredProc).
Предназначены для непосредственной работы с таблицами БД. Основные компоненты:
TADOConnection, TDatabase – для настройки параметров подключения к БД (путь, драйвер, имя пользователя, пароль);
TADOTable, TTable – для подключения и работы с таблицами (сортировка, фильтрация, поиск);
TADOQuery, TADODataSet, TQuery – для формирования и работы с запросами к БД;
TADOStoredProc, TStoredProc – для подключения и работы с хранимыми процедурами сервера БД.
Компоненты для построения отчетов (страницы Rave, QReport). Позволяют формировать, предварительно просматривать и печатать документы на основе запросов и обращений к таблицам БД. Некоторые компоненты:
TQuickRep – компонент-отчет;
TQRSubDetail – полоса для данных из БД;
TQRBand - полоса для заголовков.
Интерфейс доступа ADO
ADO (ActiveX Data Objects) – это высокоуровневый компонент (прикладной интерфейс) технологии доступа к данным MDAC (Microsoft Data Access Components).
Разработан как универсальный доступ, который позволяет обращаться к различным видам информации: файлы, электронная почта, мультимедиа, реляционные и не реляционные БД.
Компоненты (средства) технологии MDAC:
ODBC – расширение технологии OLE для доступа к различным данным; набор драйверов системного уровня (низкоуровневые функции), который разработан до OLE DB.
OLE DB – новый низкоуровневый интерфейс (интерфейс системного уровня) для доступа к БД различного формата.
Чтобы универсальным способом обрабатывать данные, используются поставщики данных различного формата: Oracle, MS SQL Server, Paradox и др. То есть с помощью OLE DB можно однотипно обработать любую сколь угодно сложную и специфическую информацию, если для неё написан поставщик OLE DB.
Однако сам набор низкоуровневых функций OLEDB достаточно сложен, поэтому разработан интерфейс ADO.
ADO (объекты данных ActiveX) – интерфейс прикладного уровня, надстройка над OLE DB, представляющая собой набор простых в применении компонентов ActiveX. Эти компоненты в свою очередь используют поставщиков OLE DB.
Примечание
OLE (Object Linking and Embedding) – связывание и внедрение объектов.
С помощью этой технологии приложения могут обмениваться информацией с другими приложениями через стандартные интерфейсы.
Доступ к этим интерфейсам возможен из множества различных ЯП. Например, через интерфейс OLE программа Delphi может управлять работой MS Word и заставлять его выполнять различные действия: загружать, печатать файлы, автоматически создавать документы и др.
Основные особенности ADO:
MDAC (т.е. и ADO) входит в поставку ОС Windows, начиная с версии 98 (точнее в Windows98 MDAC версии 2.1, а в Windows ME и Windows2000 – MDAC 2.5) и в следующих версиях Windows;
данными для ADO могут быть как привычные таблицы Microsoft Access или серверные базы MS SQL или Oracle, так и не совсем табличная информация Microsoft Active Directory Service, XML-файлы и др.;
ADO – более новая по отношению к ODBC технология, которая может работать через интерфейс OLE DB;
можно использовать «ADO+ODBC» (ADO через ODBC), но «ADO+OLE DB» превосходит ODBC по скорости.
Microsoft, похоже, основную ставку делает именно на пару ADO+OLE DB.
ADO-компоненты Delphi
Delphi тоже применяет новые компоненты ADO, хотя интерфейс BDE по-прежнему сохраняется используется.
Это VCL-компоненты от Borland, которые соответствуют иерархии компонентов ADO Microsoft и упакованные так, чтоб их было удобно использовать программистам, привыкшим к BDE. Страница ADO Borland Delphi 6 содержит компоненты:
ADOConnection;
ADOCommand;
ADODataSet;
ADOTable;
ADOQuery;
ADOStoredProc;
|