Класс TDBDataSet
Класс 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 |