Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Прогрес пересчета SQL [D6, MSSQL]


Alibaba ©   (2002-07-25 13:17:00) 

Всем привет!
Я связал два 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...

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


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

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


Alibaba   (2002-07-26 17:26:00) [2]

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо