Работа с транзакциями
В компонентах ADO работа с транзакциями осуществляется через компонент TADOConnection.
Тип транзакции устанавливается в свойстве IsolationLevel одной из следующих констант:
IlUnspecified | Сервер будет использовать лучший, по его мнению, тип изоляции. |
IlChaos | Транзакции с более высоким уровнем изоляции не могут изменять данные измененные, но не подтвержденные в текущей транзакции. |
IlReadUncommitted | Чтение данных измененных в не подтвержденных транзакций. То есть изменения видны сразу после того как другая транзакция передала их на сервер. |
IlBrowse | То же самое что и IlReadUncommitted |
IlReadCommitted | Чтение данных измененных подтвержденными транзакциями. То есть изменение данных будет видимо после выполнения Commit в другой транзакции. |
IlCursorStability | То же самое что и IlCursorStability. |
IlRepeatableRead | Изменения, сделанные другими транзакциями не видимы, но при выполнении перезапроса они транзакция может получать новый набор данных. |
IlIsolated | Транзакция не видит изменений данных произведенных другими транзакциями. |
IlSerializable | То же самое что и IlIsolated. |
Обратите внимание на то, что не все типы провайдеров данных поддерживают все типы изоляции или работу с транзакциями.
Свойство Attributes устанавливает открывать ли новую транзакцию автоматически
xaCommitRetaining – при подтверждении транзакции
xaAbortRetaining – при отмене транзакции
Так же у компонента TADOConnection есть три метода для работы с транзакциями:
BeginTrans Начинает транзакцию
CommitTrans Подтверждает сделанные изменения
RollbackTrans Откатывает транзакцию.