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