Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.27;
Скачать: CL | DM;

Вниз

Как правильно управлять явной транзакцией?   Найти похожие ветки 

 
Ruslan_   (2003-03-08 20:13) [0]

Как правильно управлять явной транзакцией, используя компоненты INTERBASE?
Я делаю так:
Data.IBQuery1.Transaction.StartTransaction;
try
……………………
……………………
……………………
Data.IBTransaction.Commit;
except
Data.IBTransaction.Rollback;
end;

при попытке внести изменение выходит сообщение: Transaction is active.
Я так понял что транзакция включается сразу после запуска программы и при попытке открыть транзакцию, пишет что транзакция уже открыта…
Объясните пожалуйста как правильно организовать явную транзакцию используя компоненты:
IBDatabase
IBTransaction
IBQuery

Заранее спасибо!


 
Johnmen ©   (2003-03-08 22:51) [1]

Перед выполнением любого (!) запроса неявно стартует транзакция. Чтобы этого избежать, стартуй транзакцию явно.
В твоем случае на момент явного старта уже был выполнен какой-либо запрос, а значит и стартована тр-ия...


 
Pat ©   (2003-03-09 01:41) [2]

if IBTransaction1.InTransaction then IBTransaction1.Commit;
IBTransaction1.StartTransaction;
Где-то примерно так...


 
Sergey Masloff   (2003-03-09 09:10) [3]

Pat © (09.03.03 01:41)
>if IBTransaction1.InTransaction then IBTransaction1.Commit;
>IBTransaction1.StartTransaction;

ИМХО лучше так:
var
OwnTrn : Boolean;
OwnTrn := True;
if IBTransaction1.InTransaction then
OwnTrn := False
else
IBTransaction1.StartTransaction;
try
DoSomething...
if OwnTrn then
IBTransaction1.Commit();
except
IBTransaction1.Rollback();
Raise;
end;




 
stranger71   (2003-03-11 10:57) [4]

Pat © (09.03.03 01:41)
>if IBTransaction1.InTransaction then IBTransaction1.Commit;
>IBTransaction1.StartTransaction;

Я сталкивался с такой проблемой, и это решение не помогло... Есть ли механизмы, ЗАПРЕЩАЮЩИЕ неявный старт транзакции?


 
Johnmen ©   (2003-03-11 11:06) [5]

Есть ! Этот механизм - явный старт...



Страницы: 1 вся ветка

Текущий архив: 2003.03.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-87989
Begemot
2003-03-13 17:54
2003.03.27
отделение одно цифры запятой


1-87953
Mif
2003-03-11 23:53
2003.03.27
Type Proc = procedure of object; ?


1-87924
Ozone
2003-03-17 11:37
2003.03.27
Включение файлов в проект


14-88220
Makhanev A.S.
2003-03-11 20:22
2003.03.27
привязка модуля к запуску под IDE...


1-88030
id_privin
2003-03-14 14:56
2003.03.27
Как запистить утилитку и получить текст который она выдаст