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

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

Запрос и ProgressBar [D5, D6, D7, IB6.x]


Страницы:   1 2 3

Dummes ©   (2005-06-10 12:49:00) 

Посоветуйте как ослеживать время выполнения SQL-запросов с отображением в ProgressBar.

Dummes


Sergey13   (2005-06-14 10:57:00) [21]

2[17] Dummes   (14.06.05 10:35)
Может просто поменьше записей возвращать надо? Может сервак мгновенно отдает, а по сетке долго тянется.


Dummes   (2005-06-14 10:53:00) [22]

Запросы оптимизированны. Хотелось совершенства.
Всем спасибо.


msguns   (2005-06-14 10:51:00) [23]

>Sergey13 ©   (14.06.05 10:46) [21]
>ЗЫ: Надо стараться писАть так, что бы работало быстро, а не показывать как медленно работает.

Дык эта.. Ежели первое-то не выходит, что остается-то ? Правильно - работать над вторым ;)


Sergey13   (2005-06-14 10:46:00) [24]

2[17] Dummes   (14.06.05 10:35)
А что зависит от точности прорисовки ПрогресБара? Даже если тебе удастся (это вряд ли (с) т. Сухов), то одинаковое количество записей одного и того же запроса может возвращвться за время, отличающееся на прорядки. Смысл то какой в этом?

ЗЫ: Надо стараться писАть так, что бы работало быстро, а не показывать как медленно работает.


msguns   (2005-06-14 10:43:00) [25]

>Dummes   (14.06.05 10:35) [17]
>А если поставить счетчик (FireBIRD) в ХП и через Suspend отслеживать? А перед этим вычислить Count...

А если сотворить на сервере евент, зарегить его в приложении, и по каждому хэпэшному суспенду его зажигать ? Тогда можна.. Только что это будет за сервер и сколько времени будет выполняться каждыйзапрос - это видимо, тема отдельная.


Digitman   (2005-06-14 10:40:00) [26]


> через Suspend отслеживать


самый первый Suspend отработает уже после тогокак НД будет сформирован


Anatoly Podgoretsky   (2005-06-14 10:37:00) [27]

Какой настойчивый парень.


Dummes   (2005-06-14 10:35:00) [28]

А если поставить счетчик (FireBIRD) в ХП и через Suspend отслеживать? А перед этим вычислить Count...


КиТаЯц   (2005-06-14 10:26:00) [29]

>msguns ©   (14.06.05 10:22) [15]
:)))
Я же написал: "Что-то типа..."


msguns   (2005-06-14 10:22:00) [30]

>КиТаЯц ©   (14.06.05 10:17) [12]
>SQL.Run;
Screen.cursor:= crDefoult;

Это по-китайски ?


-=XP=-   (2005-06-14 10:22:00) [31]

Сделать к в NN - бегающий туда-сюда ProgressBar.
Взять приблизительно максимальное время выполнения запроса, например, 5 сек. И "накручивать" ProgressBar от минимума к максимуму в течение этих 5 сек. Для пущей убедительности можете добавить "рывков" и "притормаживаний". Если запрос к этому времени не закончен - начать откручивать PrograssBar назад, от максимума к минимуму. В принципе - ничем не лучше анимации.
Если пользователи на такую уловку поймаются - Вам повезло. Если же не поймаются - ... ;)


Val   (2005-06-14 10:19:00) [32]

> [12] КиТаЯц ©   (14.06.05 10:17)
а сам он никак не меняется?


КиТаЯц   (2005-06-14 10:17:00) [33]

Лично я просто курсор мыши меняю. Что-то типа...
Screen.cursor:= MyCursor;
SQL.Run;
Screen.cursor:= crDefoult;


Anatoly Podgoretsky   (2005-06-14 10:16:00) [34]

Dummes   (14.06.05 10:06) [8]
А ничего не надо предпринимать, поскольку недостижимо.


paul_k   (2005-06-14 10:16:00) [35]

1. Оптимизировать запрос, чтоб не надо было показывать юзеру сколько сигарет он ещё может выкурить.
2. Оптимизировать структуру БД
3. перейти к пункту 1

Перед началом исполнения запроса начать крутить картинку после его исполнения прекратить оное действие


Digitman   (2005-06-14 10:12:00) [36]

?


Dummes   (2005-06-14 10:06:00) [37]

Что еще можно предпринять. Посоветуйте.


Dummes   (2005-06-10 13:19:00) [38]

Благодарю.


Digitman   (2005-06-10 13:15:00) [39]


> Получить Count можно


нельзя.

пока запрос не будет выполнен сервером, нит о каком Count и речи идти не может.

более того, в ряде случаев и после исполнения запроса Count не будет доступен до тех пор пока не сходишь в конец НД


Dummes   (2005-06-10 13:11:00) [40]

Совсем печально и грусно стало..

Отслеживай начало и конец. Между ними - хоть прогресбар хоть авишку крути - одинаково информативно. 8-)
Получить Count можно, а как к нему «инкрементировать»?


Страницы:   1 2 3

Наверх

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