Иллюстрированный самоучитель по Delphi 7 для профессионалов

Объект ошибок ADO. Транзакции.

Все ошибки времени выполнения, возникающие при открытом соединении, сохраняются в специальном объекте ADO, инкапсулирующем коллекцию сообщений об ошибках.

Доступ к объекту возможен через свойство:

property Errors: Errors;

Подробнее об объекте ошибок ADO см. ниже.

Транзакции

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

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

  • ilUnspecified – уровень изоляции не задается;
  • ilchaos – изменения более защищенных транзакций не перезаписываются данной транзакцией;
  • ilReadUncommitted – незафиксированные изменения других транзакций видимы;
  • ilBrowse – незафиксированные изменения других транзакций видимы;
  • ilCursorStability – изменения других транзакций видимы только после фиксации;
  • ilReadCommitted – изменения других транзакций видимы только после фиксации;
  • ilRepeatableRead – изменения других транзакций не видимы, но доступны при обновлении данных;
  • iSerializable – транзакция выполняется изолированно от других транзакций;
  • ilisolated – транзакция выполняется изолированно от других транзакций.

Свойство:

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

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

  • xaCommitRetaining – после фиксации очередной транзакции автоматически начинается выполнение новой;
  • xaAbortRetaining – после отката очередной транзакции автоматически начинается выполнение новой.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.