Главная страница
    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.46 MB
Время: 0.006 c
1-97312
Ross
2002-05-19 15:24
2002.05.30
Добавить свой пункт в PopupMenu Microsoft Word


1-97268
LazorenkoX
2002-05-17 10:10
2002.05.30
AssignFile


1-97290
Naik
2002-05-18 18:58
2002.05.30
Печать с канвы?!


6-97371
Antoshka
2002-03-21 09:36
2002.05.30
Загрузить файл с Интернета


1-97341
jenbbond
2002-05-17 12:06
2002.05.30
button





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский