Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.24;
Скачать: 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 вся ветка

Текущий архив: 2002.06.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
3-77287
Fissher
2002-05-30 18:38
2002.06.24
Прога не работает на другой машине


1-77414
Гаргоша
2002-06-11 01:51
2002.06.24
Объединение ячеек таблицы в WORD


3-77300
Oleg_er
2002-05-31 06:27
2002.06.24
нужна консультация BDE->Oracle?


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


8-77513
Don
2002-02-12 01:55
2002.06.24
Проблема оптимизации картинки при изменении размера