Класс TDBDataSet является непосредственным предком основных компонентов доступа к данным ттаblе, TQuery и TstoredProc. Новые свойства и методы класса обеспечивают соединение набора данных с базой данных и используют функции BDE (табл. 16.7).
В процессе соединения важнейшую роль играет свойство DatabaseName, которое должно содержать псевдоним или полный путь к файлам БД. Для управления отдельным соединением с базой данных можно применять специальный компонент TDatabase. Указатель на экземпляр такого компонента содержится в свойстве Database.
Многие функции API BDE используют в своей работе дескриптор специальной структуры, описывающей подключенную базу данных. Доступ к этому дескриптору можно получить через свойство DBHandie.
Приложение баз данных одновременно может использовать несколько наборов данных, каждый из которых подключен к собственной базе данных. Совокупность соединений управляется в рамках сеанса работы, который инкапсулируется компонентом TSession. Указатель на экземпляр такого компонента можно использовать в наборе данных при помощи свойства DBSession.
Для работы с удаленными серверами в класс введено свойство Provider, обеспечивающее доступ к интерфейсу iProvider.
Таблица 16.7. Свойства и методы класса TDBDataSet
Объявление |
Тип |
Описание |
Свойства |
||
property AutoRefresh: Boolean; |
Pb |
При значении True все автоматически создаваемые значения полей (автоинкрементные, значения по умолчанию) обновляются автоматически |
property Database: TDatabase; |
Pu, Ro |
Указатель связанного с набором данных компонента TDatabase |
property DatabaseName: string; |
Pu, Pb |
Псевдоним базы данных |
type HDBISES: Longint; property DBHandie: HDBISES; |
Pu, Ro |
Дескриптор базы данных. Используется при работе с API BDE |
type TLocale: Pointer; property DBLocale: TLocale; |
Pu, Ro |
Идентифицирует языковый драйвер API BDE |
property DBSession: TSession |
Pu, Ro |
Указатель для компонента TSession, с которым работает набор данных |
property Provider: IProvider; |
Pu, Ro |
Идентифицирует интерфейс IProvider |
property SessionName: string; |
Pu, Ro |
Содержит имя компонента сеанса, в котором работает набор данных |
Методы |
||
function CheckOpent Status: DBIResult): Boolean; |
Pu |
Возвращает результат вызова BDE. Используется для тестирования соединения |
procedure CloseDatabase ( Database: TDatabase); |
Pu |
Закрывает связь с базой данных, определяемой параметром Database |
procedure GetProviderAttributes (List: TList); override; |
Pu |
Возвращает в списке List параметры языкового драйвера
|
function OpenDatabase: TDatabase; |
Pu |
Открывает связь с базой данных, определяемой свойством DatabaseName |