Компоненты доступа к данным
Так как все эти компоненты предназначены для работы с сервером, то изначально все они поддерживают режим кэширования изменений и имеют соответственные свойства, методы и методы-обработчики событий (табл. 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, а затем перейдем к компонентам.