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

Вниз

Как отменить выполнение SQL-запроса (SELECT) во время выполнения?   Найти похожие ветки 

 
Nikolai_S ©   (2002-07-31 15:29) [0]

Вопрос к знатокам ADO:
Как сделать так, чтобы во время выполнения запроса на выборку большого объема данных в ProgressBar отображался % выполнения запроса, а сам запрос можно было в любой момент отменить?

У TADODataSet существует свойство ExecuteOptions, где можно установить eoAsyncExecute и eoAsyncFetch. Тогда выполнение происходит в отдельном потоке. Однако это не помогает, так как нельзя отменить выполнение запроса и в событии OnFetchProgress процент указывается неравномерно.


 
wicked ©   (2002-07-31 16:55) [1]

отменить - метод cancel.....


 
Fiend ©   (2002-07-31 17:32) [2]

Отменить можно методом cancel, как сказали выше, но тогда надо выполнять запрос с TADOCommand, у него есть этот метод.


 
Nikolai_S ©   (2002-08-01 09:54) [3]

Согласен, что если выполнять через TADOCommand, то есть метод Cancel, который отменит выполение запроса. Но как отловить процент выполнения запроса? У TADOCommand нет событий. Даже если выполнять через TADOTable или TADOQuery, то там есть событие OnFetchProgress - однако с помощью этого события нельзя вывести процент выполнения запроса. У события есть параметры Progress, MaxProgress. Но MaxProgress почему-то тоже меняется вместе с Progress. И получается, что сначала львиную долю времени горит 0 %, а когда запрос почти выполнен, то горит около 80% - а потом сразу 100%.


 
Johnmen ©   (2002-08-01 09:59) [4]

Достоверный процент прогресса - вешь нереализуемая в принципе !


 
Nikolai_S ©   (2002-08-01 15:17) [5]

Чем это объяснить? Я видел какие-то компоненты (хотя я их не устанавливал и не смотрел как они работают), которые как раз такую возможность предлагали.


 
SaS13 ©   (2002-08-01 16:04) [6]


> Я видел какие-то компоненты

Было бы интересно на них, а лучше ни их исходники, посмотреть.
Может кинешь ссылочку



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

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

Наверх




Память: 0.48 MB
Время: 0.01 c
4-71445
Roughneck
2002-06-20 18:40
2002.08.22
Как в Win2000 в диспетчере задач убрать свою прогу?


14-71342
ArtGamer
2002-07-27 00:27
2002.08.22
Файл hiberfil.sys в WinXP


6-71295
Timon
2002-06-10 13:54
2002.08.22
Странная ошибка


1-71130
Blacki
2002-07-26 20:55
2002.08.22
Проблема с умлаутом в немецком языке


1-71162
Иван
2002-08-09 11:38
2002.08.22
Анализ строки