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

ADO, D6, SQL   Найти похожие ветки 

← →
Dmitr   (2002-05-31 07:48) [0]

Подскажите пожалуйста .........
Трех уровневое приложение , с клиента приходит текст запроса на сервер второго уровня там обрабатывается:
//////////////////////////
ADOConnection1.BeginTrans;
for i := 0 to stringlist.Count -1 do
begin
try
Query.SQL.Clear;
Query.SQL.Add(Stringlist.Strings[i]);
Query.ExecSQL;
except
ADOConnection1.RollbackTrans;

end;
ADOConnection1.CommitTrans;
end;
///////////////////////////////////

Причем все работает если запросы на DELETE, а на INSERT, UPDATE, пишет нет активных транзакций
т.е. если в запросе несколько DELETE все нориально , а если хоть один INSERT или UPDATE то вылетает...................


← →
roottim   (2002-05-31 08:54) [1]

>т.е. если в запросе несколько DELETE
это как?


← →
Dmitr   (2002-05-31 11:29) [2]

Несколько DELETE это имеется ввиду что на клиенте формируется строка состоящая из нескольких запросов которая потом передается на сервер второго уровня и тут эти запросы по отдельности выполняются ADOQuery

Query.SQL.Clear;
Query.SQL.Add(Stringlist.Strings[i]);//Здесь в Stringlist содержит уже строки каждая из которых содержит какой либо запрос и выполняет их попорядку
Query.ExecSQL;


← →
roottim   (2002-05-31 15:21) [3]

тогда твой код должен выглядеть так
for i := 0 to stringlist.Count -1 do begin
ADOConnection1.BeginTrans;
try
Query.SQL.Clear;
Query.SQL.Add(Stringlist.Strings[i]);
Query.ExecSQL;
except
ADOConnection1.RollbackTrans;
end;
ADOConnection1.CommitTrans;
end;


или так!... (откат на всю серию)
ADOConnection1.BeginTrans;
try
for i := 0 to stringlist.Count -1 do begin
Query.SQL.Clear;
Query.SQL.Add(Stringlist.Strings[i]);
Query.ExecSQL;
end;
except
ADOConnection1.RollbackTrans;
end;
ADOConnection1.CommitTrans;


← →
Dmitr   (2002-06-01 08:14) [4]

Да, теперь вроде с транзакциями похоже все нормально работает, т.е. откатывает постоянно на INSERT и UPDATE, а на DELETE все нормально....
Может это в ADOQuery нельзя так просто использовать, Хотя вроде поначалу все работало и вставлял записи и исправлял хоть кучу, может сам сервер чего то хочет...................


← →
Anatoly Podgoretsky ©   (2002-06-01 08:24) [5]

А может просто у тебя запросы неверные :-)


← →
Dmitr   (2002-06-01 08:42) [6]

Нет с запросами вроде все нормально, ну там трудно ошибиться я уже самые простые отправляю............



Страницы: 1 вся ветка

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



Память: 0.46 MB
Время: 0.023 c
1-77388
Tkach_
2002-06-13 13:36
2002.06.24
Ошибка доступа при работе с потоками/нитями


1-77411
cult
2002-06-10 20:01
2002.06.24
Пакеты (DesignTime и RunTIME)


7-77622
Ff
2002-03-27 09:10
2002.06.24
Как программно отформатировать логический диск?


14-77571
phantom2040
2002-05-21 11:05
2002.06.24
Загрузка в Memo текстового файла


14-77565
den_c
2002-05-20 15:59
2002.06.24
Кто шмонает на тему лицензионого программного обеспечения




   Наверх