Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.16;
Скачать: CL | DM;

Вниз

Отменть запрос во время его выполнения.   Найти похожие ветки 

 
Andrey V. ©   (2003-11-25 13:52) [0]

Как бы сделать сабжевую штуку ?
Типа вывесить окно с кнопкой "отменить" и слово "Ждите..." .
И по нажатию кнопки отменить выполнение запроса.


 
Карелин Артем ©   (2003-11-25 13:59) [1]

Обирясали мы как-то этот вопрос. В общем случае нельзя. Можно перестать фетчить записи.


 
Zacho ©   (2003-11-25 13:59) [2]

Единственный правильный способ:
1.Создаем генератор.
2. Создаем ХП с выборкой FOR SELECT, внутри цикла FOR SELECT проверяем значение этого генератора, если оно равно чему-то определенному (например, 1) - то exit
3. Запускаем запрос SELECT * FROM SP в отдельном потоке, и естественно в отдельном коннекте и отдельной транзакции.
4. В основном потоке делаем окошко с кнопкой "отменить", по нажатию этой кнопки устанавливаем значение генератора.


 
Digitman ©   (2003-11-25 14:01) [3]

оформляй исполнение запроса в ХП, возвращающей НД с пом. курсора :
FOR
SELECT ..
FROM ..
WHERE ((... ) AND (GEN_ID(GEN_ABORT, 0)= 0)
INTO ...
DO
SUSPEND;

по нажатию на кнопку стартуешь док.тред, в котором создаешь отдельный коннект к той же базе и инкрементируешь генератор GEN_ABORT

с этого момента условие GEN_ID(GEN_ABORT, 0)= 0 выполнено не будет, курсор будет уничтожен, ХП завершится, тем самым выполнение запроса будет корректно прервано


 
Andrey V. ©   (2003-11-25 14:20) [4]

Мда. Довольно геморрно. Спасибо.


 
Johnmen ©   (2003-11-25 15:24) [5]

Да можно просто в простом запросе это добавить. И указать эту проверку первой в where. ХП вовсе не нужна...
А с ХП уж лучше, в смысле, быстрее, просто делать проверку знач.генератора (не в запросе, но в цикле), и отваливаться...



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
7-52429
JB
2003-10-10 12:03
2003.12.16
Чтение с консоли результата выполнения программы DOS


1-52208
IronHawk
2003-12-05 16:12
2003.12.16
Приветствую Мастеров! Вопрос про TPageControl, проские закладки..


1-52159
Anton.
2003-12-03 13:36
2003.12.16
Вопрос про меню


3-52117
Oleg_em
2003-11-21 08:10
2003.12.16
Insufficient memory блин...


3-52052
livs
2003-11-25 13:30
2003.12.16
выделить строку состоящую из 8 столбцов