Все обращения из приложения к таблицам одной базы данных осуществляются через одно соединение, на которое замыкаются все компоненты доступа к данным, имеющие соответствующие значения свойства DatabaseName (см. ниже).
Все управление одиночным соединением с какой-либо базой данных в BDE осуществляется компонентом TDatabase (табл. 16.5). В процессе работы компонент активно использует параметры псевдонимов и драйверов BDE.
Таблица 16.5. Свойства и методы компонента TDatabase
|
Объявление |
Тип |
Описание |
|
Свойства |
||
|
property AliasName: string; |
Pb |
Задает имя псевдонима BDE используемой базы данных |
|
property Connected: Boolean; |
Pb |
Управляет включением соединения с базой данных |
|
property DatabaseName: string; |
Pb |
Определяет имя базы данных |
property DataSetCount: Integer; |
Ro |
Возвращает число открытых наборов данных, работающих через данное соединение |
|
property DataSets [Index: Integer]: TDBDataSet; |
Ro |
Индексированный список всех объектов открытых наборов данных этого соединения |
|
property Directory: string; |
Pu |
Определяет текущий каталог для баз данных Paradox и dBASE |
|
property DriverName: string; |
Pb |
Содержит имя драйвера базы данных |
|
property Exclusive: Boolean; |
Pb |
При значении True другие приложения не могут работать с базой данных одновременно с этим компонентом |
|
type HDBIDB: Longint; property Handle: HDBIDB; |
Pu |
Дескриптор BDE. Используется для прямых вызовов функций API BDE |
|
property HandleShared: Boolean;
|
Pu |
При значении True дескриптор BDE компонента доступен в компоненте TSession |
|
property InTransaction: Boolean |
Ro |
Показывает состояние транзакции. При значении True транзакция выполняется |
|
property IsSQLBased: Boolean; |
Ro |
При значении True соединение работает через драйвер SQL Links |
|
property KeepConnection: Boolean; |
Pb |
При значении True соединение продолжает оставаться активным после закрытия всех наборов данных. При значении False после закрытия последнего набора данных соединение закрывается |
|
type TLocale: Pointer; property Locale: TLocale; |
Ro |
Указывает на языковый драйвер BDE, используемый при работе с базой данных |
|
property LoginPrompt: Boolean; |
Pb |
Управляет отображением стандартного диалога регистрации пользователя при подключении к серверу |
|
property Params: TStrings; |
Pb |
Содержит список значений параметров псевдонима BDE, которые пользователь задает перед подключением к серверу |
property Session: TSession |
Ro |
Указывает на компонент TSession, который управляет работой данного компонента |
|
property SessionAlias: Boolean; |
Ro |
При значении True при подключении к БД используется псевдоним сессии |
|
property SessionName: string; |
Pb |
Содержит имя сеанса, который управляет работой компонента |
|
property Readonly: Boolean; |
Pb |
Управляет режимом доступа к данным "только для чтения" |
|
property Temporary: Boolean; |
Pu |
Значение True говорит о том, что экземпляр компонента создан во время выполнения |
|
type TTraceFlag = (tfQPrepare, tfQExecute, tfError, tfStmt, tf Connect, tfTransact, tfBlob, tfMisc, tfVendor, tfDataln, tfDataOut) ; TTraceFlags = set of TTraceFlag; property TraceFlags: TTraceFlags; |
Pu |
Определяет перечень операций, выполнение которых отображается в утилите SQL Monitor при выполнении приложения
|
|
type TTransIsolation = (tiDirtyRead, tiReadCommitted, tiRepeatableRead) ; property Translsolation: TTransIsolation; |
Pb |
! Определяет уровень изоляции транзакций:
|
|
Методы |
||
|
procedure ApplyUpdates (const DataSets: array of TDBDataSet); |
Pu |
Фиксирует все изменения в наборах данных, работающих через это соединение, в базе данных |
|
procedure Close; |
Pu |
Закрывает все открытые наборы данных и соединение |
|
procedure CloseDatasets; |
Pu |
Закрывает все открытые наборы данных, работающие через это соединение |
procedure Commit; |
Pu |
Завершает выполнение текущей транзакции и фиксирует все изменения в базе данных |
|
function Execute (const SQL: string; Params : TParams = nil; Cache: Boolean = False; Cursor: phDBICur = nil) : Integer; |
Pu |
Выполняет запрос SQL без использования компонента TQuery. Текст запроса содержится в параметре SQL. Параметры запроса определяются параметром Params. Режим кэширования изменений включается параметром Cache. Параметр Cursor может использоваться при работе с функциями BDE, использующими курсор набора данных (см. гл. 14) |
|
procedure FlushSchemaCache (const TableName: string); |
Pu |
Изменяет представление о структуре таблиц БД, загруженной в память |
|
procedure Open; |
Pu |
Открывает соединение |
|
procedure Rollback; |
Pu |
Отменяет все операции текущей транзакции и завершает ее |
|
procedure StartTransaction; |
Pu |
Начинает выполнение транзакции |
|
procedure ValidateName (const Name: string) ; |
Pu |
Вызывает исключительную ситуацию, если база данных Name уже открыта в текущей сессии |
|
Методы-обработчики событий |
||
|
type TLoginEvent = procedure (Database: TDatabase; LoginParams: TStrings) of object; property OnLogin: TLoginEvent; |
Pb |
Вызывается при регистрации пользователя на сервере |
|
property AfterConnect: TNotifyEvent; |
Pb |
Вызывается после подключения |
|
property AfterDisconnect: TNotifyEvent; |
Pb |
Вызывается после отключения |
|
property BeforeConnect: TNotifyEvent; |
Pb |
Вызывается перед подключением |
|
property AfterDisconnect: TNotifyEvent; |
Pb |
Вызывается перед отключением |