M Y D E L P H I 7 . R U Самоучитель программирования  
 
  • Главная
  •  

     

    Транзакции

    Компонент 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 — после отката очередной транзакции автоматически начинается выполнение новой.