Транзакции
Компонент TADOconnection позволяет выполнять транзакции. Методы
function BeginTrans: Integer;
procedure CommitTrans;
procedure RollbackTrans;
обеспечивают начало, фиксацию и откат транзакции соответственно. Методы-обработчики
TBeginTransCompleteEvent = procedure(Connection: TADOConnection;
TransactionLevel: Integer;
const Error: Error;
var EventStatus:
TEventStatus) of object;
property OnBeginTransComplete: TBeginTransCompleteEvent;
TConnectErrorEvent = procedure(Connection: TADOConnection;
Error: Error;
var EventStatus: TEventStatus) of object;
property OnCornmitTransComplete: TConnectErrorEvent;
вызываются после начала и фиксации транзакции. Свойство
type TIsolationLevel = (ilUnspecified, ilChaos, ilReadUncommitted, ilBrowse, ilCursorStability, ilReadCorranitted, ilRepeatableRead, ilSerializable, illsolated);
property IsolationLevel: TIsolationLevel;
позволяет задать уровень изоляции транзакции:
- IlUnspecif
led — уровень изоляции не задается;
- Iichaos — изменения
более защищенных транзакций не перезаписываются данной транзакцией;
- IlReadUncommitted —
незафиксированные изменения других транзакций видимы;
- IlBrowse — незафиксированные
изменения других транзакций видимы;
- IlCursorStability —
изменения других транзакций видимы только после фиксации;
- IlReadCommitted — изменения
других транзакций видимы только после фиксации;
- IlRepeatableRead — изменения
других транзакций не видимы, но доступны при обновлении данных;
- ISerializable
— транзакция выполняется изолированно от других транзакций;
- Ilisolated — транзакция
выполняется изолированно от других транзакций.
Свойство
TXactAttribute = (xaCommitRetaining, xaAbortRetaining); property Attributes: TXactAttributes;
задает способ управления транзакциями при их фиксации и откате:
- xaCommitRetaining — после
фиксации очередной транзакции автоматически начинается выполнение новой;
- xaAbortRetaining — после
отката очередной транзакции автоматически начинается выполнение новой.
|