Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
3-55042
maxim2
2002-05-24 13:06
2002.06.17
Почему не выполняется комонда SQL ?


1-55160
VJar
2002-06-04 14:14
2002.06.17
Список процессов


1-55150
Валет
2002-06-04 13:05
2002.06.17
---|Ветка была без названия|---


4-55378
Rammst
2002-04-13 09:03
2002.06.17
Свободное место на винчестере


8-55220
3d[Power]
2002-01-07 03:17
2002.06.17
scanline




   Наверх