![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
D6, ADO, управление транзакциями......
Dmitr © (2002-05-22 09:21:00)Подскажите пожалуйста...
Трех уровневая модель, посылаю с клиента на сервер второго уровня текст запроса (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:00) [1]ADOConnection1.CommitTrans;
надо затащить после ExecSQL, до except
На инсерт ты видимо пытаешься вставить дубликатную запись,
срабатывает except блок, в нем ты откатываешь транзакцию, но и гасишь исключение, поэтому выполняется коммит, который справедливо тебя посылает
Удачи