Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизКак сделать ProgressBar на выполнение запроса??? Найти похожие ветки
← →
Relaxxx © (2004-04-15 10:24) [0]Собственно проблема, есть запрос который долго выполняется и нужно чтобы, во время его выполнения бежал ProgressBar. У меня база данных Oracle8.0.5 и пользуюсь ODAC 3.85
← →
Sergey13 © (2004-04-15 10:43) [1]Нормально - никак. ИМХО.
Лучше анимашку какую нить запусти. Или работай над запросом, иногда потребность в прогресбаре отпадает совсем. 8-)
← →
dimm22 (2004-04-15 10:53) [2]Запусти ProgressBar по таймеру, просто чтобы пользователь видел, что программа не висит.
← →
Relaxxx © (2004-04-15 11:02) [3]очень жаль, :-((((
А запрос уже оптимизирован, просто это для ведомости и работает он со множеством таблиц и со сложными групировками
← →
VAleksey © (2004-04-15 11:06) [4]На самом деле для оракла как-то можно.
Ведь считает он стоимость запроса. Значит примерно можно определить состояние запроса по количеству прочитанных блоков. Какая-то его тулза даже умеет это делать. Сам видел :-)).
← →
Relaxxx © (2004-04-15 11:28) [5]Узнать бы какая :-), попробую сейчас порытся может что-то и накопаю
← →
Reindeer Moss Eater © (2004-04-15 11:32) [6]Фигня все это.
Сервер сам ничего не знает про свою нагрузку которая у него будет через три секунды. Поэтому и время окончания запроса он не знает, а только догадывается.
Прогресс бар - баловство.
Cursor := crSQLWait или просто анимация
← →
Соловьев © (2004-04-15 11:34) [7]У ADO есть TCustomADODataSet.OnFetchProgress - может такое есть и у DAO
Но имхо, можно только закачку определить, но никак не время выполнения запроса. Это зависит от многих причин.
← →
serge35 (2004-04-15 11:38) [8]Даже мелкософт при всей своей любви к рюшечкам ничего кроме анимации не придумал.
У Оракла тоже по-моему ничего нет. Если бы было, то в Oracle Applications наверняка это было бы раелизовано.
← →
slayer (2004-04-19 03:45) [9]Посмотри может подойдет http://www.delphimaster.ru/download/index1.html
← →
VAleksey © (2004-04-19 09:18) [10]
> serge35 (15.04.04 11:38) [8]
См.
> Reindeer Moss Eater © (15.04.04 11:32) [6]
← →
Anatoly Podgoretsky © (2004-04-19 09:22) [11]Такой прогресс бар можно сделать только выполнив весь запрос, но тогда пропадает смысл в этом. Да и то только в монопольном режиме, при том только для процента выполнения, но не для времени.
← →
Vemer © (2004-04-19 09:26) [12]Вариант - узнаем с помощью Count число строк в будущем запросе, а потом рисуем ProgressBar определенное время исходя из данной цифери. Но не очень прямое решение..:).
← →
Sergey13 © (2004-04-19 09:38) [13]2Vemer © (19.04.04 09:26) [12]
А как рисовать прогрес для запроса с count?
← →
dimm22 (2004-04-19 10:04) [14]
> Вариант - узнаем с помощью Count число строк в будущем запросе
Так это по времени, наверное, будет сравнимо с самим запросом ?!
← →
_sulent © (2004-04-19 13:30) [15]Мне кажется только аниме здесь выход, более никак... запросы на то они и есть запросы... как говорилось выше, даже сервер не знает в процессе сколько он будет выполнять тот или иной запрос!
Конечно можно попробовать сделать как тоже говорилос выше, узнать количество записей и первый проход и расчитать примерное время, но все это криво и будет тратиться больше времени на выполнение запроса!
Делай аниме и не мучайся...
← →
Женя (2004-04-19 14:29) [16]интересно, а как же строится програссбар в DbExplorer32.
Выглядит весьма естественно, похоже, отображается по количеству обработанных на данный момент строк.
Притом отображается и при рапросах и при проверке и при перестройке индексов корректно. Может посмотрите, кто там больше в этом смыслит?
у меня RX Database Explorer v2.5 Кошевникова и Павлука.
← →
Соловьев © (2004-04-19 14:31) [17]
> Выглядит весьма естественно, похоже, отображается по количеству
> обработанных на данный момент строк.
что значит обработаных? при запросе? или при каких-то операциях?
← →
Женя (2004-04-19 14:36) [18]Обработанных запросом.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.04 c