Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
3-87777
Дуся
2003-03-11 13:41
2003.03.27
ПОМОГИТЕ!! Два MS SQL сервера, второй linked к первому.


1-87958
Makhanev A.S.
2003-03-17 21:40
2003.03.27
TCustomForm.OnActivate


6-88122
Nicky
2003-02-06 20:11
2003.03.27
не могу пробиться через прокси


3-87818
digester
2003-03-09 12:34
2003.03.27
Работа с временем и датой.


14-88202
alxx
2003-03-10 22:02
2003.03.27
Рисунки.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский