Вниз
Скачать: CL | DM;

Progress в обработке запрса?   Найти похожие ветки 

 
Matvey ©   (2003-04-07 21:33) [0]

Проблема состоит в следующем, при осуществлении выборки из базы посредствам SQL

SQL.Add("SELECT * FROM Reg_Reestr");
SQL.Add("WHERE Naiminov LIKE :Zapros");
Params.ParamByName("Zapros").AsString:="*"+NewText+"*";

примерно так, необходимо отображать ход поиска так как записей порядка 150 тысяч, и конечному пользователю будет не интересно смотреть на мертвый экран.Как это сделать используя TGauge, или есть другие специально заточенные под такие надобности компоненты?
И еще нормально ли что размер базы MDB, имеющей как я уже говорил, порядка 150 тысяч записей, составляет 500 Mb, как его можно сократить так всего одна таблица и 7 String полей?


 
dred2k ©   (2003-04-07 22:00) [1]

Ну, во-первых, сама идея SQL не приемлет никаких там цветных гауджей. ;)
Во-вторых, если использовать LocalSQL BDE, то организация такого мониторинга возможна, но есть масса ограничений. Для стандартных DBISAM-драйверов (Paradox, DBase, ...) работает механизм callback-ов. Признаться, работает по-разному и криво (для парадокса изучено подробно и могу потом рассказать...). Для SQL-серверов (через SQLLinks) callback-и тоже имеют место, но лишь на уровне буквально двух вызовов - запрос ушел и запрос пришел (проверено на IB, как будет работать Access - не знаю, думаю - так же).
В третьих, есть вероятность, что подобные заморочки может поддержать какая-либо платформа в отдельности (средствами "живого" API). Вариант не исключается, доп. сведений по перечисленным платформам нет. ;)
Вот и все пока.


 
Matvey ©   (2003-04-07 23:32) [2]

Да, не густо. :(


 
sniknik ©   (2003-04-07 23:54) [3]

для Access береш родной ему ADO + включаеш асинхронное получение данных, в зависимости от настроек будут возвращатся(или нет) количество полученных записей на onFetchProgress (клиент/сервер зависят но не помню где что).

дальше твое дело, жди конца запроса и показывай прогресс или начинай обработку не дожидаясь конца.

> 150 тысяч записей, составляет 500 Mb
ну скорее всего нужно просто сделать "упаковку и восстановлений" в Access (проще всего) можно и програмно.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.019 c
14-77076
Карелин Артем
2003-04-06 17:00
2003.04.24
Самодельные девайсы для компа.


3-76856
Маша
2003-04-07 17:34
2003.04.24
Сколько параметров может быть в запросе?


1-76982
rrer
2003-04-13 12:56
2003.04.24
Treeview


7-77182
ionv
2003-03-06 09:08
2003.04.24
Как называется сообщение развертывания окна во весь экран?


14-77081
SniZ
2003-04-05 18:11
2003.04.24
Температура




   Наверх