Мониторинг обменных курсов валют
18c0693f

Транзакции



Транзакции


Компонент 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;

позволяет задать уровень изоляции транзакции:

Свойство

TXactAttribute = (xaCommitRetaining, xaAbortRetaining); property Attributes: TXactAttributes;

задает способ управления транзакциями при их фиксации и откате:


Транзакции

Управление транзакциями в OLE DB реализовано на двух уровнях. Во-первых, всеми необходимыми методами обладает объект сессии. Он имеет интерфейсы ITransaction, ITransactionJoin, ITransactionLocal, ITransactionObject.

Внутри сессии транзакция управляется интерфейсами ITransactionLocal, ItransactionSC, ITransaction и их методами StartTransaction, Commit, Rollback.

Во-вторых, для объекта сессии можно создать объект транзакции при помощи метода

function GetTransactionObject(ulTransactionLevel: UINT; out ppTransactionObject: ITransaction): HResult; stdcall;

интерфейса ITransactionObject, который возвращает ссылку на интерфейс объекта-транзакции.

Содержание раздела


Самый выгодный курс обмена валюты