Вниз
Скачать: 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.013 c
6-4025
Dysan
2003-08-01 18:16
2003.10.02
Как отправить почту по smtp?


1-3944
Николай
2003-09-21 09:23
2003.10.02
схожу с ума...


14-4106
otido
2003-09-09 12:16
2003.10.02
Поделитесь опытом.... перенос ВСЕГО с харда на хард....


3-3718
BorisSV
2003-09-15 11:32
2003.10.02
Отменить удаление используя ActionList => DataSetDelete


3-3749
SkullNet
2003-09-12 01:13
2003.10.02
LoadFromFile, SaveToFile и БД




   Наверх