Вниз
Скачать: 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.011 c
4-77680
Zeden
2002-04-25 23:51
2002.06.24
Подкиньте ПЛЗ примеры по TThreads.


1-77403
do_the_right_thing
2002-06-13 19:55
2002.06.24
скроллинг


3-77263
Alik Chu
2002-05-30 10:43
2002.06.24
Мужики, ОЧЕНЬ нужен DbTreeView!!! Помогите!


6-77534
JokerJ
2002-04-18 02:11
2002.06.24
Как программно нажать на кнопку Submit?


14-77560
Song
2002-05-20 10:55
2002.06.24
Чего-то форум колбасит... Или только у меня?




   Наверх