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

Вниз

Прогрес пересчета SQL   Найти похожие ветки 

 
Alibaba   (2002-07-25 13:17) [0]

Всем привет!
Я связал два SQL (мастер/детал)
Посчитался Query1, результат в DBGrid1.
Когда я двигаюсь по DBGrid1, Query2 пересчитывается и показывает результат в DBGrid2.
На событие Query2.AfterOpen я повесил процедуру подсчета количества записей:

procedure TMain.AfterOpen(DataSet: TDataSet);
begin
Label.Caption:="Всего записей - "+IntToStr(Query2.RecordCount);
end;

Query2.AfterOpen:=AfterOpen;

Время пересчета около минуты и я хочу в это время показывать работу (что-бы знать что мы не висим). На-пример, увеличивать значение ProgressBar.

На какое событие Query2 мне повесить увеличивать значения ProgressBar?

Пробовал на Query2.BeforeOpen...
Но в этом случае работает только первый раз, когда считается Query1...

Подскажите кто знает, плиз.


 
Lusha   (2002-07-25 13:40) [1]

Зачем использовать TQuery.RecordCount? Почему не использовать запрос с аггрегатной функцией COUNT... Может и минуту ждать не придется... :)


 
Володя Шарапов   (2002-07-25 13:50) [2]

Попробуй повесь на BeforeScroll.
Это событие происходит перед тем как форма хочет перейти от одной записи к другой. (по крайней мере так написано в хелпе).


 
Володя Шарапов   (2002-07-25 13:51) [3]

Имеется ввиду Query1.BeforeScroll.


 
Володя Шарапов   (2002-07-25 13:52) [4]

> Володя Шарапов
Дык пробовал я так - не хочет! :(


 
Viewer   (2002-07-25 13:54) [5]

Может попробовать Application.ProcessMessages.


 
Scotch   (2002-07-25 13:57) [6]

Как то обсуждался вопрос по поводу обработки SQL-ей.
Помоему в этом форуме дней 6 назад.
Там можно написать удаленную процедуру на серваке, которая сообщает клиенту о начале и окончании расчета.


 
Alibaba   (2002-07-25 14:00) [7]

> Scotch
По поводу теоретической возможности существования такой процедуры я очень сомневаюсь...
Или у меня недостаточно знаний... :(


 
Viewer   (2002-07-26 16:30) [8]

Из-за большого количества канареек острова называются Канарские.
А если нежна задержка можно использовать или Sleep(Time) или while VariableBoolean do ;


 
BAY   (2002-07-26 17:00) [9]

Только если запрос выполняется в отдельном потоке


 
Alibaba   (2002-07-26 17:26) [10]

Да,да!
Запрос выполняется в отдельном потоке.
Скажите КАК это сделать!!!
Очень надо!!!!


 
BAY   (2002-07-26 18:00) [11]

В хелпе по TThread все написанно... и пример есть.



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

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

Наверх




Память: 0.46 MB
Время: 0.006 c
3-47997
Alfred
2002-07-27 17:19
2002.08.15
Ошибка


1-48179
Igorek
2002-08-02 13:02
2002.08.15
Еще раз про class of


1-48156
Valentain
2002-08-01 16:06
2002.08.15
Помогите разобраться с ListView-ом


8-48212
mari_ra
2002-04-11 13:22
2002.08.15
Как повернуть мета-файл без использования SetWorldTransform?


1-48189
[ch!p]
2002-08-02 14:08
2002.08.15
Просмотр Word документов из проги





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