Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];

Вниз

Ккак считать видимые на экране данные из БД 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
1-30406
jack128
2003-03-30 14:32
2003.04.10
Создание компонентов в DLL


1-30388
a
2003-03-30 09:24
2003.04.10
какая технология позволяет проделать вот такое -


4-30665
Coder1
2003-02-10 17:00
2003.04.10
Как ловить сообщ. предназн. другому приложению


1-30419
Che
2003-03-31 03:43
2003.04.10
Совйство Caption у Button


6-30484
Vampire
2003-02-18 05:47
2003.04.10
И опять эти сокеты...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский