Вниз
Скачать: 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
1-77485
Tahion
2002-06-03 20:21
2002.06.24
Как в *.res файл записать иконку с полной палитрой?


1-77425
Dimitriev V G
2002-06-10 16:53
2002.06.24
Оптимизация программы на Дельфи, утилиты просмотра памяти, тактов


14-77566
JohnnyCrisJoe
2002-05-15 21:09
2002.06.24
MP3-коллекция => Деньги


4-77694
Artemkin
2002-04-26 10:10
2002.06.24
Win Api - Playsound( )


6-77518
Yakudza
2002-04-16 15:50
2002.06.24
Как вырубить прогу удаленно ?




   Наверх