Вниз
Скачать: 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
7-4142
Костя
2003-07-03 08:29
2003.10.02
Как насильно закрыть файл


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


6-4034
iPasha
2003-08-05 15:47
2003.10.02
Кодировка KOI-8R в Indy


3-3732
AndrewK
2003-09-12 12:50
2003.10.02
Как работать с параметрами в TADOQuery?


4-4155
AngelSaint
2003-07-30 09:40
2003.10.02
Как получить хэндл окна




   Наверх