![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обрыв соединения с БД Interbase [D6, IB6.x]
suharew © (2005-09-05 13:35:00)Добрый день. Пишу следущее
if form1.IBTransaction1.InTransaction then
begin
form11.IBtable1.Edit;
form11.IBtable1['adr']:=trim(adr);
form11.IBtable1['dom']:=trim(dom);
form11.IBtable1['kom']:=trim(dopkom);
form11.IBtable1.Post;
form1.IBTransaction1.Commit;
form1.IBTransaction1.Active:=true;
end;
или SQL запрос, неважно.
Все таблицы закрываются. Я так понял это связано с транзакцией как-то. Только не могу понять как? Если без транзакции то все нормально. Почему связь обрывается.
Zacho (2005-09-07 08:37:00) [1]suharew (06.09.05 17:34) [5]
Надо стартовать и завершать транзакции когда тебе нужно. Не зная твоей задачи ничего конкретного сказать нельзя.
Изучи внимательно статьи на http://www.ibase.ru/develop.htm, особенно http://www.ibase/ru/devinfo/ibx.htm
Ещё не помешало бы изучить что-либо по теории РСУБД, например К.Дж.Дейт "Введение в системы баз данных"
suharew (2005-09-06 17:34:00) [2]Я уже перешел на IBQuery.
Только вот вопрос опять по транзакциям
У меня на всех IBQuery назначен один IbTransaction.
Как правильно оформлять SQL запрос с транзакцией. Яделаю так.
....
form1.IbQuety.Sql.Add('insert into basa (data,wrem) values(:data,:wrem)');
if form1.IBTransaction1.InTransaction then
begin
form1.IBQuery1.ExecSQL;
form1.IBTransaction1.Commit;
form1.IBTransaction1.Active:=true;
end;
Или как написал Os (05.09.05 15:33) [4] через Try ..Except
Os (2005-09-05 15:33:00) [3]Если IBTransaction1 - общий, то зачем if
form11.IBtable1.Edit;
form11.IBtable1['adr']:=trim(adr);
form11.IBtable1['dom']:=trim(dom);
form11.IBtable1['kom']:=trim(dopkom);
form11.IBtable1.Post;
Если IBTransaction1 для IBTable1 то наверно
try
IBTransaction.StartTransaction;
form11.IBTable1.Edit;
.........
IBTransaction.Commit;
except IBTransaction.RollBack;
end;
Чем раньше перейти на TIBQuery тем меньше переделывать потом.
Zacho (2005-09-05 14:16:00) [4]2 suharew:
Да, ещё раз повторю: не стоит использовать TIBTable.
Zacho (2005-09-05 14:06:00) [5]suharew (05.09.05 13:35)
Внимательно читай http://www.ibase.ru/devinfo/ibx.htm
Я же уже давал тебе эту ссылку.
Sergey13 (2005-09-05 13:44:00) [6]CommitRetaining