taRollback - откат транзакции;
taCommit - фиксация транзакции;
taRollbackRetaining - отмена изменений без завершения транзакции (для сервера InterBase 6.0);
taCoramitRetaining - фиксация изменений без завершения транзакции (для сервера InterBase 6.0).
Для компонента транзакции можно настроить ее автоматическое завершение при закрытии последнего открытого компонента, инкапсулирующего набор данных, связанного с тем же соединением, что и транзакция.
Для этого свойство
type TAutoStopAction = (saNcrie, saRollback, saCommit,
seiRolItec^etainirig, saConmLtRetaining);
property AutoStcpAction : TAutoStcpAction;
не должно иметь значение saNone.
Остальные значения свойства выполняют следующие действия: • saRollback - откат транзакции;
□saCommit - фиксация транзакции;
П saRollbackRetaining - отмена изменений без завершения транзакции (для сервера InterBase 6.0);
□ saCommitRetaining - фиксация изменений без завершения транзакции (для сервера InterBase 6.0).
Метод
procedure CheckAutoStop;
выполняет действие, предусмотренное текущим значением свойства
AutoStcpActicri.
Диагностика состояния транзакции во время выполнения осуществляется группой специальных методов. В случае отрицательного результата все они генерируют исключение EIBClientError.
Метод
procedure CheckDatabasesInList;
проверяет, имеются ли в списке Databases связанные соединения. Метод
procedure ChecklnTransaction;
проверяет, открыта ли в данный момент транзакция. Метод
procedure CheckNotlnTransaction;
проверяет, закрыта ли в данный момент транзакция. Единственный метод-обработчик транзакции property OnldleTimer: TNotifyEvent;
вызывается по истечении срока ожидания выполнения транзакции, заданного СИЖШМ IdleTimer.
Компоненты доступа к данным
Так как компоненты InterBase Express используют для получения набора данных собственный механизм, то иерархия классов-предков включает только обязательный для всех наборов данных TDataSet класс TiBCustomDataSet, который, собственно, и инкапсулирует механизм доступа InterBase Express (см. рис. 12.1).
Для связи с базой данных компоненты InterBase Express применяют компоненты соединения TiBDatabase (см. выше). Для этого они используют свойство
prcperty Database : TiBDatabase;
Доступ к связанной транзакции осуществляется через свойство
prcperty Transaction: TIBTransaction;
Дополнительно к стандартным свойствам и методам, описываемым в гл. 12, класс TiBCustomDataSet имеет свойство
type TIBUpdateRecordTypes = set of (cusMbdified, cuslnserted, cusDeletecl, cusUnmodifiedf cusUninserted);
prcperty UpdateRecordTypes : TffiUpdateRœordTypes;
cusModified - модифицированные записи; cuslnserted - добавленные записи; cusDeleted - удаленные записи; cusUnmodified - немодифицированные записи; cusUninserted - недобавленные записи.
Данное свойство определяет записи набора данных, на которые распространяются операции кэширования.
Свойство
property Buf ferChunks : rnteger;
определяет число записей, которые компонент загружает в собственный локальный буфер для ускорения выполнения стандартных операций.