Форум: "Базы";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];
ВнизD6, ADO, управление транзакциями...... Найти похожие ветки
← →
Dmitr (2002-05-22 09:21) [0]Подскажите пожалуйста...
Трех уровневая модель, посылаю с клиента на сервер второго уровня текст запроса (INSERT, DELETE, UPDATE) в ADOQuery и выполняю ExecSQL
///////////////////
ADOConnection1.BeginTrans;
try
Query.SQL.Clear;
Query.SQL.Add(Stringlist.Strings[i]);
Query.ExecSQL;
except
ADOConnection1.RollbackTrans;
end;
ADOConnection1.CommitTrans;
///////////////////
Почему-то ингода на INSERT вылетает ошибка - нет активной транзакции т.е. не выполняется ADOConnection1.CommitTrans;
← →
Shaman_Naydak (2002-05-22 13:50) [1]ADOConnection1.CommitTrans;
надо затащить после ExecSQL, до except
На инсерт ты видимо пытаешься вставить дубликатную запись,
срабатывает except блок, в нем ты откатываешь транзакцию, но и гасишь исключение, поэтому выполняется коммит, который справедливо тебя посылает
Удачи
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c