Главная страница
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.49 MB
Время: 0.016 c
1-48199
Nikoss
2002-08-02 23:22
2002.08.15
Три вопроса. Работа с двумерным массивом


8-48215
Mix
2002-04-10 18:15
2002.08.15
DelphiX ----------------------------------DX3D


1-48157
quark
2002-07-29 21:58
2002.08.15
как получит список файлов в папке учитывая вложенные?


3-47923
Afreet
2002-07-25 10:30
2002.08.15
Уважаемые МАСТЕРА!. Помогите построить SQL запрос


3-47981
mikmaslov
2002-07-26 15:25
2002.08.15
DSN ?