Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Контроль фетча, IBX, FireBird, 
:(
    Опции темы
LordMadman
Дата 22.7.2009, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 22.7.2009

Репутация: нет
Всего: нет



Подскажите, плз,
как можно контролировать фетч в IBX.
Т.е. идея такая - при открытии dataset'а загружается малая часть данных (как оно и есть при настройках по умолчанию).
Пока пользователь думает, мы в фоне потихонечку подгружаем данные и показываем ему этот процесс, например, в строке состояния.
Как только пользователь что-то делает, загрузка приостанавливается или отменяется.

Плз, ссылки, советы, мысли....
PM MAIL   Вверх
Bose
Дата 26.7.2009, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 9
Всего: 51



C чем используешь Dataset?
При простом открытии Dataset-a, ни одна из записей не фетчится. При вызове метода Dataset.Next, TIbDataset фетчит следующую запись и помещает её в свой кэш.

Обычно фетч данных контролируют визуальные контролы. Например, возьмём ситуацию, когда к dataset-у подключен лежащий на форме TDbGrid. Форма создана и видна пользователю. Предполжим что в DbGrid-e на экране помещается 20 записей. При открытии датасета, он сообщает об открытии DbGrid-у. DbGrid в свою очередь запрашивает у датасета столько записей, сколько помещается на экране(в моём примере - 20). Датасет фетчит записи и помещает их в свой кэш(по умолчанию размер кэша равен 1000). Когда пользователь скроллит DbGrid ниже, DbGrid запрашивает следующие записи у Датасета. Датасет в свою очередь проверяет свой кэш, и если запись там не найдена, фетчит её из базы. И.т.д.

Даже не знаю насколько реально контролировать этот процесс. Для контроля именно фетча, IbDataset предлагает только один метод - FetchAll.

Добавлено через 1 минуту и 14 секунд
Ссылка, по работе с IBX-ами:
Работа с компонентами IBX или использование InterBase eXpress в приложениях на Delphi и C++Builder, с СУБД Firebird и InterBase
PM MAIL WWW Skype   Вверх
Данкинг
Дата 26.7.2009, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



А зачем это надо чисто практически? Можно уж сразу .FetchAll и ни о чём не думать. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Bose
Дата 27.7.2009, 03:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 9
Всего: 51



Цитата(Данкинг @  26.7.2009,  22:47 Найти цитируемый пост)
А зачем это надо чисто практически? Можно уж сразу .FetchAll и ни о чём не думать. smile  

А зачем вообще программировать? Можно же купить готовую программу. smile 

А по существу, например выборка отчётов из хранимых процедур может быть очень долгой. И FetchAll в таком случае может подвесить программу надолго. Хотя это уже тема по оптимизации БД и процедуры отчёта.
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0439 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.