Форум: "Базы";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];
ВнизТранзакции Найти похожие ветки
← →
Фагот (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 вся ветка
Форум: "Базы";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.01 c