Общее число связанных с данным соединением транзакций возвращает свойство
property TransactionCount: Integer;
а их полный перечень содержится в индексированном списке свойства
property Transactions [Index: Integer] : TIBTransaction;
Добавить к списку используемых новую транзакцию можно при помощи метода
functionAddTransaction(TR: TIBTransaction) : Integer;
Отменить связь между соединением и компонентом транзакции позволяет метод
procedure RemoveTransaction(Idx: Integer); Но можно поступить и более радикально. Метод procedure RemoveTransactions; отменяет связи со всеми транзакциями.
Используемый в методе RemoveTransaction индекс транзакции может быть найден методом
function Findlransaction (TR: TIBTransaction) : Integer; а метод
function FindDefaultTransaction: TIBTransaction; возвращает транзакцию по умолчанию.
С компонентом соединения можно связать произвольное число объектов, отслеживающих возникновение событий в базе данных InterBase (см. ниже). Для этого используется метод
procedure AddEventNotif ier (Notifier : IIBEventNotif ier) ;
который связывает с соединением либо интерфейс IIBEventNotifier, либо объект TIBEvents. Парный ему метод
procedure RemoveEventNotif ier (Notifier: IIBEventNotifier) ; разрывает связь соединения с объектом-обработчиком событий. Свойство type
TTraceFlag = (tfQPrepare, tfQExecute, tfQFetch, tfError, tfStmt, tfConnect, tfTransact, tfBlob, tfService, tfMisc);
TTraceFlags = set of TTraceFlag;
property TraceFlags: TTraceFlags;
позволяет управлять сведениями о выполнении запросов, возвращаемыми компонентом TSQLMonitor (см. ниже описание этого компонента).
Группа методов позволяет судить о реальном состоянии соединения во время выполнения. Все они в случае неудачи проверки генерируют исключение
EIKlientError.
Методы
prcce±ire CheckActive;
и
procedure Checklnactive;
проверяют, функционирует или нет соединение. Метод
procedure CheckDatabaseName;
проверяет, заполнено ЛИ СЮЙСТЮ DatabaseName.
Компонент TiBDatabase позволяет выполнять некоторые операции с метаданными базы данных.
При помощи метода
procedure CreateDatabase;
можно создавать новые базы данных, включая создание файла базы данных. Все параметры новой базы данных, которые разработчик посчитает нужным указать явно, должны быть включены в список свойства Params (см. выше).
Имя файла новой базы данных должно быть указано в свойстве
EatabaseNaroe. Метод
proce±ire urjriMafcase;
удаляет существующую базу данных, путь к которой указан свойством
ШиаЬазе№те.
Список List имен таблиц, имеющихся в базе данных, возвращает метод
procedure GetTableNames (List: TStrrngs;
SysterOTables: Boolean = False);
При этом параметр SystemTables управляет включением в список имен системных таблиц.
Метод
procedure GetFieldNames(const TableName: string;
List: TStrings);
аналогичным образом возвращает список полей для таблицы, заданной параметром TableName.
Методы-обработчики событий компонента TiBDatabase представлены в табл. 18.1.
Таблица18.1. Методы-обработчикисобытийкомпонентат1В0а1аЬазе
Объявление |
Тип |
Описание |
|
Pb |
Выполняется после открытия соединения |
|
Pb |
Выполняется после закрытия соединения |
|
Pb |
Выполняется перед открытием соединения |
|
Pb |
Выполняется перед закрытием соединения |
|
Pb |
Выполняется в случае изменения диалекта SQL при открытии соединения |
property OnldleTimer: TNotifyEvent; | |
Pb |
Вызывается по истечении времени,заданного свойством IdleTimer |
|
Pb |
Вызывается для регистрации пользователя при открытии соединения |
Компонент TIB Transaction