Вниз
Скачать: 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
3-3716
AlexWeb
2003-09-13 19:29
2003.10.02
Есть ли аналог


3-3789
den74
2003-09-11 10:09
2003.10.02
Как опреедлить имя DBEdit


3-3729
Владимир
2003-09-12 20:51
2003.10.02
Первичный ключ


3-3750
ЮРИЙ_К
2003-09-12 09:47
2003.10.02
Присвоить значения полям базы в цикле.


3-3760
denis24
2003-09-11 19:29
2003.10.02
Преобразовать строку в дату




   Наверх