|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.07.2009, 07:20 | #1 | |
Регистрация: 14.10.2008
Сообщений: 5
|
dataset и progressbar
Всем добрый день!
Помогите, не могу связать dataset и progressbar между собой. не знаю куда ставить inc() и где взять max. Вот примерный код: Цитата:
|
|
27.07.2009, 09:14 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
мой вам совет - не заморачивайтесь. для подобных случаев придумали курсор в виде песочных часиков...
либо, видел прогрессбар при установке Microsoft Visual Studio - бегущая полосочка, когда дошла до конца, пошла снова с начала... и так в цикле.. потому что, для того, чтобы получить количество обрабатываемых записей, Вам прийдётся сначала выполнить запрос select count(*) from ... where ... ваше условие.. и только потом уже запрос на обработку с тем же where это 1) двойные затраты времени 2) количество записей может и изменится, между двумя запросами... Последний раз редактировалось Serge_Bliznykov; 27.07.2009 в 09:16. |
27.07.2009, 15:09 | #3 |
Регистрация: 14.10.2008
Сообщений: 5
|
После долгих раздумий я решил поступить как вы сказали, там тоже возникла проблемка - как вы знаете в дельфи 5 нет поддержки gif анимации, я воспользовался WebBrouser'ом НО при загрузке данных с БД gif висит. еще поюзал нет и нашел gif компоненты, RxLib, по мануалу устанавливал, ну как обычно устанавливаются компоненты - выдаёт ошибку.
|
27.07.2009, 15:26 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
27.07.2009, 15:58 | #5 |
Регистрация: 14.10.2008
Сообщений: 5
|
|
27.07.2009, 16:04 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
28.07.2009, 07:00 | #7 |
Участник клуба
Регистрация: 23.04.2009
Сообщений: 1,058
|
можно в поток прогрессбар засунуть..токда не будет песочных часиков...
но всё равно надо будет выполнить запрос select count(*) from ... where ... ваше условие.. хотя у меня 11 000 000 записей считает секунды за 3-4
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
|
28.07.2009, 09:00 | #8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
where условие OR условие OR условие - практически в ТРИ раза дольше, чем каждое из условий по отдельности... а ещё бывает условие, связывающее таблицу с другими таблицами... короче, подсчёт количества записей ОЧЕНЬ сильно зависит от конкретного условия (ну и конкретной таблицы, конечно). Согласитесь, нелогично: пользователю сначала прийдётся ждать сколько-то секунд (и не факт, что 3-4), чтобы потом ждать уже наблюдая прогрессбар... |
|
28.07.2009, 10:16 | #9 |
Участник клуба
Регистрация: 23.04.2009
Сообщений: 1,058
|
Код:
------ Performance info ------ Prepare time = 31ms Execute time = 31ms Avg fetch time = 1,35 ms Current memory = 907*784 Max memory = 933*716 Memory buffers = 120 Reads from disk to cache = 4*165 Writes from cache to disk = 0 Fetches from cache = 41*544
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
|
28.07.2009, 12:40 | #10 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
и зачем здесь вся эта портянка если речь идет про подсчет кол-ва записей?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
dataset | sergei64_89 | Общие вопросы .NET | 1 | 19.09.2008 20:14 |
DataSet | nimf | БД в Delphi | 3 | 28.01.2008 23:03 |
ADODataSet: cannot modify a read-only dataset | cvetochek | Помощь студентам | 2 | 29.10.2007 14:49 |
доступ к DataSet | EdNovice | БД в Delphi | 0 | 11.05.2007 07:01 |