Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.10;
Скачать: CL | DM;

Вниз

Ккак считать видимые на экране данные из БД InterBase в DBGrid   Найти похожие ветки 

 
Джоник   (2003-03-21 12:03) [0]

Здравствуйте профи!

Помогите с решением проблемки:
Есть БД под InterBase 5.5, необходимо организовать
просмотр и навигацию по таблице из этой БД в компоненте DBGrid,
но сделать это так, чтобы с сервера считывались только записи
которые будет видно на экране в DBGrid"е (чтобы не засорять
трафик сети, поскольку в таблице находиться свыше 100000 записей и есть тенденция к росту этого количества).

Заранее благодарен!

P.S. пробовал компонент TIBClientDataSet, но что-то не получается: происходит последовательное дочитывание данных и добавление к существующим вместо считывания видимого куска данных в DBGrid.


 
Roki   (2003-03-21 12:05) [1]

то что ты видишь на экране, то и скачано...хотя какие компоненты доступа?


 
Джоник   (2003-03-21 12:10) [2]

Roki: я имею ввиду организацию закачки данных порциями из БД на сервере в объеме равном количеству строк видимых в DBGrid"е на экране и при перемещении за пределы DBGrid"а дочитывание следующей порции данных с удалением предыдущей порции.


 
Roki   (2003-03-21 12:12) [3]


> с удалением предыдущей порции.

этим ты трафик не уменьшишь, а только гемороя добавишь...


> я имею ввиду организацию закачки данных порциями из БД на
> сервере в объеме равном количеству строк видимых в DBGrid"е
>

так и есть автоматически...об этом заботится не стоит. Можешь еще посмотреть в сторону Мидас...


 
Джоник   (2003-03-21 12:21) [4]

>так и есть автоматически...об этом заботится не стоит

а при открытии этой таблицы(при запуске приложения или при актуализации данных во время работы программы) заметно увеличивается время закачки. С этим то как бороться?


 
Roki   (2003-03-21 12:27) [5]

я же не знаю, может у тебя та куча Lookup полей в этой таблице или еще что-то, приведи свою конструкцию: какие компоненты, какие данные перегоняешь и т.д.


 
Wellslava ©   (2003-03-21 12:36) [6]

а ты какие исполдьзуешь компоненты доступа к данным?


 
Джоник   (2003-03-21 13:36) [7]

Roki: компоненты доступа к данным: IBDatabase, IBTransaction, TIBQuery.
данные по запросу:
select * from имя_таблицы order by fam, imy, otch
таблица данных - это список с ФИО и номерами людей.
Lookup полей к ней нет.


 
Roki   (2003-03-21 13:40) [8]

нормальная ситуация. не должно тормозить. может у тебя системных ресурсов не хватает...


 
Джоник   (2003-03-21 13:58) [9]

Да ресурсов вроде бы хватает:
Server - Cel1000/128MbRAM/Win2000Prof/Net-10Mbit,
4 пользователя (1 из них раб. на сервере), рабочие станции - не ниже P233/32Mb/Win98/Net-10Mbit


 
Roki   (2003-03-21 14:02) [10]

а какой критерий не тормозливости? 10 тыс за 1 сек или как?


 
zacho ©   (2003-03-21 14:05) [11]


> Roki (21.03.03 13:40)

Должно, должно.. :-)
Дело в том, что наследники TDataSet кэшируют все закачанные данные. Это необходимо, чтобы можно было перемещаться по набору данных в обоих направлениях. Если кэширование не нужно, надо поставить UniDirectional:=true
P.S. Не советую использовать IBQuery. IBDataSet гораздо универсальнее.


 
Джоник   (2003-03-21 15:13) [12]

>zacho © (21.03.03 14:05)

А почему универсальнее? Работает быстрее?


 
ЮЮ ©   (2003-03-22 06:57) [13]

>select * from имя_таблицы order by fam, imy, otch

Добавь
WHERE ...
и три поля для ввода условия поиска. И искать надо не листая страницы Грида, а определяя критерии поиска



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

Текущий архив: 2003.04.10;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
6-30485
ST
2003-02-18 12:02
2003.04.10
ShellExecute


7-30629
udavf
2003-02-17 03:04
2003.04.10
Start with windows


1-30421
Z_man7777
2003-03-29 07:33
2003.04.10
Отображение картинки в TImage так, как она отображается в ACDSee


3-30214
Basic
2003-03-23 01:08
2003.04.10
Как програмно поменять ограничитель SET TERM


14-30544
Sergey13
2003-03-24 09:29
2003.04.10
Проезд Россия <-> Украина. Нужна консультация