Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.008 c
1-97281
vvsystem
2002-05-18 15:47
2002.05.30
Как создать класс по имени класса в рантайме?


3-97174
Oleg_er
2002-05-07 08:29
2002.05.30
длина строки


1-97331
Gumbert-Gumbert
2002-05-19 16:23
2002.05.30
Вопрос по функции: TTreeView.Items.AddObject(TTreeNode, S, Ptr)


3-97210
dima2002
2002-04-29 15:46
2002.05.30
SQL, кто может дать совет...


6-97366
новенький в Делфи
2002-03-19 18:45
2002.05.30
Виснет сканер портов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский