Вниз
Скачать: CL | DM;

Транзакции   Найти похожие ветки 

 
Фагот ©   (2003-09-14 12:07) [0]

Ввожу код, приведённый в хелпе D6.
IBDatabase1.Open;
IBTransaction1.StartTransaction;
Table1.Insert;
Table1.FieldByName("QUANTITY").AsInteger := StrToInt(Edit1.Text);
Table1.Post;
IBTransaction1.Commit;
Компилирую, получаю TransAction is activeю Что я делаю не так? Как правильно вносить изменения?


 
Sergey_Masloff   (2003-09-14 16:01) [1]

У тебя Table.Active = true стоит. То есть как только законнектишься она сразу записи фетчит. А это без открытия транзакции не сделать - она ее и стартует по-тихому. А когда ты делаешь StartTransaction она уже стартована


 
Фагот ©   (2003-09-14 16:39) [2]

Да, это сообщение ругается на StartTransaction, даже если Active=False. К тогму же я плохо понимаю терминологию - что есть фетчить? И как же мне грамотно провести транзакцию?


 
Sergey_Masloff   (2003-09-14 18:44) [3]

Если ругается значит транзакция уже открыта. Только и всего. Посмотри в какой момент она открывается.
Вообще схема проста

StartTransaction();
try
DoSomething(); /* Выполняешь запрос или открываешь Table или еще что угодно*/
Transaction.Commit();
except
Transaction.Rollback();
end;


 
Evgeny V ©   (2003-09-15 05:48) [4]

Скорее у тебя в транзкации свойство Active:=true (почему, другой вопрос, может ты и назначил, надо код смотреть), что бы не открывать уже открытую транзакцию
if not IBTransaction1.Active then
IBTransaction1.StartTransaction;
фетчить - см. хелп у TTable напимер FetchAll



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
1-3911
SergP
2003-09-22 08:55
2003.10.02
Почему при передаче массива как параметра,


4-4157
Vyacheslav
2003-07-29 17:01
2003.10.02
Как отловить завершение(закрытие) чужого приложения в Виндовс


11-3809
ABM
2003-01-23 10:16
2003.10.02
ListView - не работает OnChange, OnKeyUp и OnKEyDown -->exception


1-3869
Dysan
2003-09-18 17:45
2003.10.02
лист excel на форме


1-3857
drakulita
2003-09-19 09:56
2003.10.02
Время обработки




   Наверх