Programming: Delphi
Иллюстрированный самоучитель по Delphi 7 для профессионалов
Компоненты доступа к данным
Так как компоненты InterBase Express используют для получения набора данных собственный механизм, то иерархия классов-предков включает только обязательный для всех наборов данных
TDataSet класс TiBCustomDataSet, который, собственно, и инкапсулирует механизм доступа InterBase Express.
Для связи с базой данных компоненты InterBase Express применяют компоненты соединения
TiBDatabase. Для этого они используют свойство
Доступ к связанной транзакции осуществляется через свойство
Дополнительно к стандартным свойствам и методам, описываемым в гл. 12,
класс TiBCustomDataSet имеет свойство
type TIBUpdateRecordTypes = set of (cusModified, cuslnserted, cusDeleted,
cusUnmodified, cusUninserted);
property UpdateRecordTypes: TIBUpdateRecordTypes;
cusModified — модифицированные записи;
cuslnserted — добавленные записи;
cusDeleted — удаленные записи;
cusUnmodified — немодифицированные записи;
cusUninserted — недобавленные записи.
Данное свойство определяет записи набора данных, на которые распространяются операции кэширования.
Свойство
определяет число записей, которые компонент загружает в собственный локальный буфер для ускорения выполнения стандартных операций.
При использовании компонентов в приложениях необходимо учитывать некоторые особенности.
Обновление набора данных выполняется не при каждом сохранении изменений. Такое поведение компонента определяется свойством
которое по умолчанию имеет значение False.
Это ускоряет работу компонента. При необходимости выполнять обновление данных с максимальной частотой свойству
ForcedRefresh нужно присвоить значение
True.
В зависимости от настроек компонента, с ним можно выполнять различные виды операций редактирования, перечень которых содержится в свойстве "только для чтения":
type
TLiveMode = (Imlnsert, ImModify, ImDelete, ImRefresh);
TLiveModes = set of TLiveMode; property LiveMode: TLiveModes;
Так как все эти компоненты предназначены для работы с сервером, то изначально все они поддерживают режим кэширования изменений и имеют соответственные свойства, методы и методы-обработчики событий (табл. 18.2).
Таблица 18.2. Методы-обработчики
событий класса TiBCustomDataSet
Объявление
|
Описание
|
property Af terDatabaseDisconnect: TNotifyEvent;
|
Выполняется после закрытия соединения с базой данных
|
property AfterTransactionEnd: TNotifyEvent;
|
Выполняется по окончании транзакции, с которой связан данный набор данных
|
property Bef oreDatabaseDisconnect: TNotifyEvent;
|
Выполняется перед закрытием соединения с базой данных
|
property BeforeTransactionEnd: TNotifyEvent;
|
Выполняется перед окончанием транзакции, с которой связан данный набор данных
|
property DatabaseFree: TNotifyEvent;
|
Выполняется при обнулении свойства Database компонента набора данных
|
type
TIBUpdateAction = (uaFail, uaAbort, uaSkip, uaRetry, uaApplied, uaApply) ;
TIBUpdateErrorEvent = procedure ( DataSet : TDataSet ; E: EDatabaseError; UpdateKind: TUpdateKind; var UpdateAction: TIBUpdateAction) of object;
property OnUpdateError: TIBUpdateErrorEvent ;
|
Вызывается при возникновении ошибки сохранения изменений в режиме кэширования
|
type
TIBUpdateAction = (uaFail, uaAbort, uaSkip, uaRetry, uaApply, uaApplied);
TIBUpdateRecordEvent = procedure ( DataSet : TDataSet ; UpdateKind: TUpdateKind; var UpdateAction: TIBUpdateAction) of object;
property OnUpdateRecord: TIBUpdateRecordEvent ;
|
Вызывается при сохранении изменений в режиме кэширования
|
property TransactionFree: TNotifyEvent;
|
Выполняется при обнулении свойства Transaction компонента набора данных
|
Возможности компонентов TIBTable, TIBQuery, TIBStoredProc, TIBUpdateSQL
мало чем отличаются от стандартных, описанных в гл. 12.
Для взаимодействия с сервером компоненты InterBase Express используют два класса, которые инкапсулируют важные структуры API InterBase. Эти структуры обеспечивают передачу серверу параметров запроса и возвращение результата выполнения запроса. Поэтому сначала рассмотрим классы
TIBXSQLDA и TIBXSQLVAR, а затем перейдем к компонентам.
Назад | Оглавление | Вперёд
При перепечатке любого материала
с сайта, видимая ссылка на источник www.warayg.narod.ru
и все имена, ссылки авторов обязательны.
© 2005
|