5.3. Технология InterBaseExpress
.doc
Технология InterBaseExpress (IBX)
В Borland Delphi 5 – 7 в палитре компонентов вкладка InterBase представляет собой набор компонентов под общим названием InterBaseExpress или IBX. Это компоненты для работы с базами данных InterBase, которые обращаются к серверу непосредственно, без каких-то промежуточных средств.
Технология IBX рассчитана на создание «облегченного» клиента. С этой целью она предоставляет программисту способ непосредственного обращения к промышленному серверу InterBase версии 5 – 7 без использования машины баз данных BDE или подобных средств доступа к данным. Delphi не запрещает и традиционную архитектуру с BDE.
Компоненты IBX позволяют разрабатывать приложения, ориентированные на идеологию и архитектуру InterBase. К особенностям IBX можно отнести:
-
явное управление транзакциями;
-
поддержке расширений InterBase 6.0 – 7.0;
-
поддержку event-alerters;
-
использование генераторов для значений ключевых полей;
-
управление сервером через Services API;
-
поддержку стандартных и сторонних визуальных компонентов отображения данных;
-
поддержку встроенных и сторонних генераторов отчета;
-
совместимость с Delphi 5 – 7, C++ Builder 5 – 6 и Kylix.
Основой кода IBХ является библиотека FreelBComponents, написанная Грегори Дилтцом в 1998 году.
Механизм доступа к данным InterBase Express
Для компонентов InterBase Express соединение с сервером БД осуществляет компонент TIBDatabase.
Для создания приложения клиент/сервер необходимо не только иметь работающий сервер, но и инсталлировать на клиентских рабочих местах специальное программное обеспечение, выполняющее соединение клиентского приложения с сервером.
Механизм доступа к данным InterBase Express использует для обращений к серверу возможности клиентского ПО InterBase, которое должно быть инсталлировано на компьютере. Если с данного компьютера доступны базы данных какого-либо сервера на платформе InterBase, то рассматриваемые здесь компоненты могут обращаться к этому серверу. При этом не требуется использовать BDE или любой другой механизм доступа к данным.
Но в результате все компоненты InterBase Express, инкапсулирующие набор данных, должны обращаться к базе данных только через компонент соединения TIBDatabase. На самом деле эта особенность не является недостатком в клиентских приложениях, т. к. организация соединения через один специализированный компонент всячески приветствуется и является хорошим тоном в программировании.
Таблица 1. Основные компоненты вкладки InterBase
Компонент |
Описание |
Компонент TIBDatabase – предназначен для подключения к базе данных. Основные методв: Open, Close. |
|
Компонент TIBTransaction – предназначен для явного управления транзакцией. Основные методы: StartTransaction, Commit, Rollback, CommitRetaining, RollbackRetaining. |
|
Компонент TIBTable – аналог стандартного TTable. Компонент предназначен для получения данных из одной таблицы или представления базы данных. Основное свойство – TableName. Основные методы: Open, Close. Набор данных, полученных при помощи TIBTable, является редактируемым, если речь идет о таблице базы данных или обновляемом представлении. Компонент совместим с визуальными компонентами. |
|
Компонент TIBQuery – аналог стандартного TQuery. Компонент предназначен для получения данных на основе SQL-запроса. Этот набор данных не всегда будет редактируемым, зачастую необходимо использовать дополнительный компонент TIBUpdateSQL, чтобы иметь возможность редактировать полученные сведения. Основное свойство – SQL. Основные методы: Open, Close, ExecSQL. Компонент совместим с визуальными компонентами |
|
Компонент TIBDataSet – предназначен для получения и редактирования данных, является потомком стандартного классаTDataSet и полностью совместим со всеми визуальными компонентами. Основные методы: Prepare, Open, Close, Insert, Append, Edit, Delete, Refresh. |
|
Компонент TIBStoredProc – предназначен для выполнения хранимых процедур и получения набора данных на основе результатов выполнения процедуры. Получаемый набор данных является нередактируемым. Компонент совместим с визуальными компонентами. Основное свойство – StoredProcName. Основной метод – ЕхесРгос. |
|
Компонент TIBUpdateSQL – аналог TUpdateSQL. Используется в паре с TIBQuery и предназначен для создания модифицируемых наборов данных. Основные свойства: DeleteSQL, InsertSQL, ModifySQL и RefreshSQL. |
|
Компонент TIBSQL – предназначен для выполнения SQL-запросов. В отличие от TIBQuery или TIBDataSet, TIBSQL не имеет локального буфера для набора данных и несовместим с визуальными компонентами. |
|
Компонент TIBDatabaseInfo – позволяет получить системную информацию о некоторых свойствах базы данных, соединения и сервера. Например, UserNames – список пользователей, подключенных к базе данных, PageSize – размер страницы базы данных. |
|
Компонент TIBSQLMonitor – предназначен для перехвата и отслеживания всех запросов, которые выполняют приложения. |
|
Компонент TIBEvents – предназначен для получения пользовательских событий InterBase. Основное свойство – Events. Основные методы: RegisterEvents, UnresisterEvents. |
|
Компонент TIBExtract – предназначен для получения так называемых метаданных – списков таблиц, индексов, хранимых процедур и тому подобных сущностей БД. |
|
Компонент TIBClientDataSet – предназначен для создания клиентского НД. Его назначение – кэшировать получаемые от сервера данные и поддерживать двунаправленный курсор. |