Programming: Delphi
Иллюстрированный самоучитель по Delphi 7 для профессионалов
Транзакции
Подобно своим аналогам в BDE и ADO компонент TSQLConnection поддерживает механизм транзакций и делает это сходным образом.
Начало, фиксацию и откат транзакции выполняют методы
procedure StartTransaction(TransDesc: TTransactionDesc);
procedure Commit(TransDesc: TTransactionDesc);
procedure Rollback(TransDesc: TTransactionDesc);
При этом запись TTransactionDesc возвращает параметры транзакции:
TTransIsolationLevel = (xilDIRTYREAD, xilREADCOMMITTED, xilREPEATABLEREAD,
xilCUSTOM);
TTransactionDesc = packed record
TransactionID : LongWord;
GloballD : LongWord;
IsolationLevel : TTransIsolationLevel;
Customlsolation : LongWord;
end;
Запись содержит уникальный в рамках соединения идентификатор транзакции
TransactionID И уровень
изоляции Транзакции IsolationLevel. При
уровне изоляции xilCustom определяется параметр
Customlsolation. Идентификатор
GiobaliD используется при работе с сервером
Oracle.
Некоторые серверы БД не поддерживают транзакции, и для определения этого факта используется свойство
Если соединение уже находится в транзакции, свойству
присваивается значение True. Поэтому, если сервер не поддерживает множественные транзакции, всегда полезно убедиться, что соединение не обслуживает начатую транзакцию:
var Translnfo:
TTransactionDesc;
(...)
if Not MyConnection.InTransaction
then
try
MyConnection.StartTransaction(Translnfo);
{...}
MyConnection.Commit(Translnfo);
except
MyConnection.Rollback(Translnfo);
end;
Назад | Оглавление | Вперёд
При перепечатке любого материала
с сайта, видимая ссылка на источник www.warayg.narod.ru
и все имена, ссылки авторов обязательны.
© 2005
|