![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прогрес пересчета 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... Может и минуту ждать не придется... :)