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

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

Отображение хода выполнения запроса [D6, IB6.x]


Дмитрий К. ©   (2003-10-15 11:28:00) 

Добрый день уважаемые мастера.
Хотелось бы узнать как можно отобразить в Gauge или ProgressBar ход выполнения SQL запроса.

Буду признателен за ответ.


Дмитрий К.   (2003-10-15 13:18:00) [1]

Понял, большое спасибо!


Danilka   (2003-10-15 13:16:00) [2]

[10] Дмитрий К. (15.10.03 13:11)
1. Коннект+запрос в отдельном потоке, тогда в главном можно делать что угодно, и форма будет нормально прорисовываться и даже кнопки нажиматься :).
2. Перед запуском запроса создаешь отдельный поток, в котором пускаешь авишку и время от времени перерисовываешь форму. После отработки запроса в главном потоке, завершаешь этот доп. поток.


Vlad   (2003-10-15 13:14:00) [3]

см. TThread и его методы (Create, Execute)


Дмитрий К.   (2003-10-15 13:11:00) [4]

А подробнее, как это сотворить?


Danilka   (2003-10-15 12:49:00) [5]

[8] Дмитрий К. (15.10.03 12:36)
Это лечится только отдельным потоком


Дмитрий К.   (2003-10-15 12:36:00) [6]

Авишку пускать и курсор менять пробовал, но тут такая проблема всплывает, пока обрабатываеся запрос (5-30 секунд)форма тормозит,не реагирует не на нажатие кнопок ни на изменение курсора и т.д. всё оживает только после выполнения запроса.


Zhouck   (2003-10-15 12:23:00) [7]

Я ж говорю тестить надо. А то что он отработает быстрее основного запроса, это точно. Вопрос насколько. Если время составит <5%, то думаю это вариант


DenK_vrtz   (2003-10-15 11:59:00) [8]

Zhouck ©, а кто сказал, что запрос на выбор количество записей отработает быстро?! Если требуется клиента занять на то время, чтобы запрос выполнился, то, очевидно, что разговор идет не о секундах + еще один запрос с count()


Zhouck   (2003-10-15 11:49:00) [9]

Ну а если так.(не тестил) Сначала сделать запрос, но с count(узнать количество возвращаемых записей), которй отбаботает быстро. Засечь времядо и после. Умножить полученное время на размер записи, и получить приблизительное время. Ну и запускать progressbar. levf. можно попробовать.


DenK_vrtz   (2003-10-15 11:43:00) [10]

Sergey13 ©, :)


Sergey13   (2003-10-15 11:41:00) [11]

2DenK_vrtz © (15.10.03 11:31) [2]
>Лучше авишку запустить с мультфильмами на время выполнения запроса или анегдоты транслировать,
Пользователи начнут просить притормозить показ результатов. 8-)

>или рекламу(главное договориться)!
А за это побить. 8-)


DenK_vrtz   (2003-10-15 11:31:00) [12]

Вопрос каждую неделю задается!

Лучше авишку запустить с мультфильмами на время выполнения запроса или анегдоты транслировать, или рекламу(главное договориться)!
"В компании с Толстяком время летит незаметно" (с)


Vlad   (2003-10-15 11:30:00) [13]

Вобщем - никак.
Обычно курсор меняют или форму с GIF"ом показывают


Наверх

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