Вопрос:  Почему не работают методы FindFirst, FindNext?

Ответ: В наших компонентах есть два типа фильтрации:

1. Фильтрация на сервере. Производится выполнением соответствующего запроса. Преимущества при этом такие, что уменьшается нагрузка на локальный компьютер и уменьшается трафик сети (сервер ограничивает необходимые записи). Недостатки этого метода только в том, что в dataset может находится только часть отфильтрованных данных и, если требуются другие условия фильтрации, то нужно изменять запрос и заново выполнить его на сервере. Предыдущие данные при этом потеряются. В компоненте для этого предусмотрены очень сильные механизмы - запроса в свойстве, внесение на этапе разработки (или в runtime через репозитарий) conditions, использование макросов.

2. Фильтрация данных в dataset. Она отличается в корне от того, что было в /1/ (фильтрации на сервере):
у сервера запрашиваются все данные (конечно, с учетом ограничений-фильтров SQL-запроса), а уже в самом dataset (не на сервере), происходит их фильтрация. Эффект такого подхода такой же, как и у /1/, НО все это происходит локально и не требует использование сети. Эта часть как бы расширяет возможности /1/.

3. Эту часть нельзя отнести к фильтрации, скорее она относится к поиску тех записей, которые нужны и не означает потерю ненужных записей (то есть это не фильтр). Речь идет об использовании метода Locate и LocateNext. При использовании этих методов записи никуда не деваются, просто указатель текущей записи перемещается к той, которая соответствует указанным параметрам. Что бы найти следующую такую запись, нужно вызвать метод LocateNext.

Если вам нужны записи, которые удовлетворяют какому-то жесткому условию, то вам подойдут пункты /1/ или /2/.
Методы FindFirst и FindNext, к сожалению, не поддерживаются нашими компонентами.


Описание для анонса: 
Специальные цены для ex-USSR (кроме стран ЕС):

235 Euro
1500 руб. для физ. лиц
3600 руб. для юр. лиц

Скидки при покупке нескольких копий!

Навигация



Приобрёл FIBPlus 2 года назад для использования в программе для учета, контроля и управления редакционно-издательским процессом "Издательства `София`". В качестве сервера БД выступает Firebird 1.5.3, интеграция с ним отличная. Клиенты сидят в разных городах на выделенках, обычных модемах и даже коннектятся через gprs. В условиях неустойчивой связи возможность FIBPlus обработки потери коннекта очень удобна.

Еще из особенностей использую: автогенерацию запросов, update only modified, раздельные транзакции, управление транзакциями, Boolean-поля, макросы (это способность очень сильно облегчает программирование), кэширование метаданных, кэширование BLOB, автоматическая распаковка/запаковка BLOB. Всего и не вспомнишь - очень быстро привыкаешь к удобству. Компоненты можно сравнить с ездой на авто с хорошо сбалансированой подвеской - и не трясет, мягко едет, и в тоже время чувствуешь дорогу и имеешь полный контроль. :)

Из всех возможных особенностей не использую, наверное, только репозитарий, да и то потому, что поздно в нем разобрался. Сейчас проект переписывается под 3-х звенку, буду использовать обязательно.

Благодаря FIBPlus клиенты еще ни разу друг другу на пятки не наступали, кэширование BLOB'ов существенно экономит трафик. Очень радует техподдержка. Баги, которые есть у всех, в моем случае были некритичны, да и исправляются очень оперативно. Из пожеланий - придумайте что-нибудь такое же "интересное" для трёхзвенки. :) Спасибо за отличный продукт!

>>

Тарас Ткаченко
Раздел для покупателей
Получение полных версий и обновлений. Перейти в Личный кабинет
Сайт по Delphi: ежедневные ИТ-новости, статьи, документация, компоненты, конкурсы, юмор...