Данный ресурс посвящен лучшей на сегодняшний день технологии прямого доступа к базам данных сервера FireBird/InterBaseR для Borland DelphiT и Borland C++BuilderT - библиотеке компонентов Devrace FIBPlus.
Автором и основным разработчиком FIBPlus является Сергей Бузаджи.
Материал ресурса условно разбит по категориям и размещен в следующих разделах:
- Новости - представлены анонсы материалов и новостные ленты по данной тематике, возможность оформления подписки на новости сайта, архив новостей.
- О проекте - именно в этой части сайта рассказывается об истории возникновения данной библиотеки, что такое FIBPlus, как можно приобрести библиотеку, поближе познакомиться с командой FIBPlus.
- Применение - выложены материалы посвященные тонкостям использования FIBPlus в собственных программах, приведены примеры программных продуктов на основе технологии FIBPlus. Задавайте вопросы, знакомтесь и общайтесь в "конференции" с программистами, активно использующими FIBPlus в своей работе, желающие могут пополнить ряды единомышленников и приверженцев FIBPlus. Также здесь вы можете найти статьи, связанные с проблематикой проектирования и разработки приложений, использующих в качестве доступа к базам данных эффективную технологию FIBPlus.
- Компоненты - отсюда вы можете загрузить триал-версию библиотеки, примеры использования FIBPlus из реальных работающих программных систем, различные компоненты наследники FIBPlus-компонентов, интересные нестандартные решения для организации представления и обработки данных, как в исходных кодах, так и готовые решения, оформить заявку на приобретение лицензии на использование.
- Ссылки - интересные на наш взгляд ресурсы в сети, адреса наших партнеров.
FIBPlus - библиотека компонент прямого доступа к базам данных сервера FireBird/InterBaseR для Borland DelphiT & Borland C++BuilderT.
Автором и основным разработчиком FIBPlus является Сергей Бузаджи. С лицензионным соглашением библиотеки FIBPlus действующем на территории СНГ можно ознакомиться здесь.
FIBPlus основана на части исходных кодов известной библиотеки FreeInterBaseComponents (FIBC). Автор последней - Gregory H. Deatz. Имеет ряд существенных отличий как от FreeIBComponents, так и от входящей в поставку Delphi5/6 библиотеки IBX.
Мы попросили Сергея написать для сайта пару строк о том, с чего же когда-то все началось:
"Да особой истории то и не было... Скачал FIBC на посмотреть. В общем-то, схема библиотеки понравилась, но для того чтоб перетащить свой БДЕ-шный проект не хватало локальной фильтрации. Начал искать, спрашивать - мнения фидошного народа разделились. От мнения, что это невозможно сделать без коренной переделки фибов, до мнения, что это легко, но незачем. Пришлось потратить пару дней, сделал фильтрацию. Еще пара дней ушла на SQLEditor. Перегнал проект под получившееся и тут... всплыла проблема с неправильным инсертом. Немного поматерился и исправил инсерт. Вот в общем-то и вся комплектация первых плюсов. Фильтрация, правильный инсерт и SQLEditor. Ну это не считая исправления каких-то мелких багов. Исправления были как мои, так и уже опубликованные другими ребятами... Честно говоря, я тогда думал, что вся эта история на этом и закончится..."
После нескольких лет работы автора над библиотекой мы имеем следующие отличительные особенности FIBPlus:
- FIBPlus может работать на всех версиях Delphi, начиная с третьей.
- FIBPlus полнофункционально работает с FireBird/InterBaseR 6.0
- Возможность гибкого управления поведением детального набора данных посредством установки свойств датасета DetailConditions.
- Чтение/запись данных в отдельных транзакциях (читаем в read, записываем в короткой write). Свойства TpFIBDataSet: AutoCommit, Transaction и UpdateTransaction.
- Встроенная поддержка отсутствующих в FB/IB Boolean-полей.
- Наличие уникального компонента TpFIBUpdateObject, который способен работать во взаимодействии с датасетом как в одной так и в отдельной транзакции, неговоря уже о том, что он может в это же время выполнять действия в другой базе данных.
- Возможность фильтрации данных на клиенте, в том числе по лукап- и калк-полям.
- "Человеческий" Insert, вместо странноватого Append (FIBC, IBX). Впрочем, те, кто привык к логике последних, имеют возможность поруководить процессом.
- Методы CacheXXX() - манипуляция записями только в буфере на клиенте. Ваш горизонт возможностей обработки записей на клиенте значительно расширяется...
- Наличие репозитария параметров отображения полей и запросов прямо в базе данных.
- Режим "защищенного" редактирования записи. Пока пользователь редактирует запись, никто другой не может ее изменить в это же время. А Вы, как разработчик, имеете возможность обрабатывать такие ситуации на свое усмотрение. См. TpFIBDataSet.OnLockError.
- Интерактивное заполнение параметров для генерации значений первичных ключей. Свойство TpFIBDataSet.AutoUpdateOptions. Вам больше не надо будет думать, чтоже для этого надо сделать - писать процедуру или триггер.
- Возможность сортировки данных на клиенте.
- Возможность использования в SQL-текстах несколько одноименных параметров.
- Удобный в работе SQLEditor.
- Возможность использовать в SQL-текстах макроопределения.
- Запрос: "SELECT * FROM TABLE1 WHERE FIELD = :P1" при P1 = NULL автоматичеки преобразовывается к "SELECT * FROM TABLE1 WHERE FIELD IS NULL".
- Полнофункциональная работа с array-полями FB/IB.
- Наиболее правильная логика работы с CachedUpdates. Для облегчения труда прибывающих с BDE имеется аналог бдешного метода CommitUpdates.
- Поддержка Services API.
- Широкий набор обработчиков событий датасета.
И этот список можно еще продолжить...