![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прерывание выполнения запроса [D5, Oracle]
Chainik © (2002-04-29 09:33:00)Здравствуйте, уважаемые знатоки! Вопрос, конечно простой, но не подскажите ли мне, как мне программно прервать выполнение SQL-запроса к БД?
С уважением!
Севостьянов Игорь (2002-05-10 12:27:00) [1]Если бы не BDE(для Oracleдействительно лучше исп. OCI- быстрее и т.д.)
А вот еще и ADOтогда
берешь
TADOCommand.ExecuteOptions = [eoAsyncExecute]
и терминируешь
if stExecuting in States then Cancel;
ivv (2002-05-10 09:02:00) [2]запусти еще одну сессию, и при прерывании убиавай ее
Внук (2002-05-08 16:34:00) [3]Плохо, что доступ через BDE, потому что при использовании DOA это выполняется легко: запускается запрос в отдельном потоке, а потом в нужный момент из основного потока выполняется TOracleSession.BreakExecution, после чего нужно малость подождать, пока запрос будет остановлен. Сам так делаю, все прекрасно работает. Единственно, TOracleSession.BreakExecution появилась в сравнительно новых версиях DOA, на ранних версиях придется использовать прямой OCI-вызов.
dimis (2002-05-08 16:00:00) [4]а еще лучше не убирать tQuery а остановить транзакцию
Session.StartTransaction
...........
Session.Rollback;
это по моему сработает
dimis (2002-05-08 15:51:00) [5]а как ты хочешь прервать?
по времени тогда почему бы не попробовать использовать Timer
запустить его и по окончании времени убить Query
SBeast (2002-05-08 14:56:00) [6]Не знаю как решить проблему, но TThread.Terminate точно не помогает, у самого такая проблема ...
Delirium (2002-04-29 12:57:00) [7]Для того, чтобы что-то прервать, надо, для начала, иметь такую возможнось в принципе. Т.е. процесс должен идти в отличном от основого потоке. Как только поместишь, процесс в отделный поток -проблема отпадёт сама :) см.
TThread.Terminate
Johnmen (2002-04-29 10:31:00) [8]Ничего не выйдет...:(
Chainik (2002-04-29 10:25:00) [9]У меня доступ через BDE. А мне очень надо!
Anatoly Podgoretsky (2002-04-29 10:08:00) [10]Chainik © (29.04.02 09:33)
Терпи казак
Sergey13 (2002-04-29 09:54:00) [11]Если доступ через DOA то http://www.farpost.com/personal/dmitryb/RUS/
Там есть примочка (Add-on для DOA)
"Содержит набор функций позволяющих открывать запросы с возможностью их прерывания во время выполнения.
"
Как работает не знаю не юзал.