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

Вниз

Прерывание выполнения запроса   Найти похожие ветки 

 
Chainik   (2002-04-29 09:33) [0]

Здравствуйте, уважаемые знатоки! Вопрос, конечно простой, но не подскажите ли мне, как мне программно прервать выполнение SQL-запроса к БД?
С уважением!


 
Sergey13   (2002-04-29 09:54) [1]

Если доступ через DOA то http://www.farpost.com/personal/dmitryb/RUS/
Там есть примочка (Add-on для DOA)
"Содержит набор функций позволяющих открывать запросы с возможностью их прерывания во время выполнения.
"

Как работает не знаю не юзал.


 
Anatoly Podgoretsky   (2002-04-29 10:08) [2]

Chainik © (29.04.02 09:33)
Терпи казак


 
Chainik   (2002-04-29 10:25) [3]

У меня доступ через BDE. А мне очень надо!


 
Johnmen   (2002-04-29 10:31) [4]

Ничего не выйдет...:(


 
Delirium   (2002-04-29 12:57) [5]

Для того, чтобы что-то прервать, надо, для начала, иметь такую возможнось в принципе. Т.е. процесс должен идти в отличном от основого потоке. Как только поместишь, процесс в отделный поток -проблема отпадёт сама :) см. TThread.Terminate


 
SBeast   (2002-05-08 14:56) [6]

Не знаю как решить проблему, но TThread.Terminate точно не помогает, у самого такая проблема ...


 
dimis   (2002-05-08 15:51) [7]

а как ты хочешь прервать?
по времени тогда почему бы не попробовать использовать Timer
запустить его и по окончании времени убить Query


 
dimis   (2002-05-08 16:00) [8]

а еще лучше не убирать tQuery а остановить транзакцию
Session.StartTransaction

...........
Session.Rollback;

это по моему сработает


 
Внук   (2002-05-08 16:34) [9]

Плохо, что доступ через BDE, потому что при использовании DOA это выполняется легко: запускается запрос в отдельном потоке, а потом в нужный момент из основного потока выполняется TOracleSession.BreakExecution, после чего нужно малость подождать, пока запрос будет остановлен. Сам так делаю, все прекрасно работает. Единственно, TOracleSession.BreakExecution появилась в сравнительно новых версиях DOA, на ранних версиях придется использовать прямой OCI-вызов.


 
ivv   (2002-05-10 09:02) [10]

запусти еще одну сессию, и при прерывании убиавай ее


 
Севостьянов Игорь   (2002-05-10 12:27) [11]

Если бы не BDE (для Oracle действительно лучше исп. OCI - быстрее и т.д.)
А вот еще и ADO тогда
берешь

T ADOCommand.ExecuteOptions = [eoAsyncExecute]

и терминируешь

if stExecuting in States then Cancel;



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

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

Наверх




Память: 0.49 MB
Время: 0.016 c
1-97244
ДК
2002-05-20 15:17
2002.05.30
Размер


3-97127
Relaxoid
2002-04-28 21:41
2002.05.30
Проблема с AdoStoredProc


3-97167
Reticent
2002-05-07 18:38
2002.05.30
Подскажите


4-97448
Lamer #13
2002-03-28 13:19
2002.05.30
Kak otsledit zapis v Event Log?


3-97112
Cola
2002-05-04 21:39
2002.05.30
DBGridEH