Версия для печати
Active Query Builder — компоненты для визуального построения SQL запросов
http://www.delphikingdom.com/asp/viewitem.asp?catalogID=1146Виталий Измайлов
дата публикации 01-08-2005 07:58Уважаемые жители Королевства!
Выношу на Ваш суд наше произведение - компонент для визуального построения SQL запросов. Хотелось бы узнать Ваше мнение - что вам понравилось или не понравилось, а также что бы Вы хотели видеть в такого рода компонентах, но не нашли в нашем.
На данный момент компонент находится в стадии бета тестирования, поэтому заранее приношу извинения за возможные ошибки или неудобства при работе с компонентом.
Теперь, собственно, о нем:
Active Query Builder - это набор компонентов для Borland Delphi версий 6, 7 и 2005, а также Borland C++ Builder 6, который позволяет конечным пользователям Вашего приложения возможность построения сложных SQL запросов при помощи удобного визуального интерфейса. Интерфейс Active Query Builder подобен интерфейсу построителей запросов в MS Access или в SQL Server Enterprise Manager, но обладает гораздо большими возможностями. Мы понимаем, что мы не первые, кто пишет компоненты подобного рода, но наш компонент отличается тем, что позволяет визуально строить запросы с UNION'ами и подзапросами, а такого мы еще не встречали.
Разработка компонента была начата в феврале этого года и на сегодняшний день вступила в завершающую стадию. Работа была проделана усилиями одного программиста. Изначально проект задумывался только для Misrosoft SQL Server'а, но после принятия решения о его коммерциализации, стало ясно, что поддержки только лишь одного диалекта SQL недостаточно.
В качестве инструмента для создания кода парсера SQL нами был выбран CoCo/R - бесплатный генератор парсеров/сканнеров LL(1) с открытым исходным кодом. Изначельно CoCo/R не имел возможности генерации кода Object Pascal, поэтому нам пришлось самим добавить такую возможность. Также способности CoCo/R заглядывать вперед всего лишь на 1 токен оказалось недостаточно для разрешения всех неоднозначностей при анализе кода SQL, а возможность заглядывать вперед на 2 токена дала возможность разрешать где-то 97% неоднозначностей. Но для полностью верного парсинга, нам пришлось заглядывать вперед на сколь угодно большое количество токенов.
Общая структура набора компонентов выглядит следующим образом:
+-----------------------+ +--------------------------+ | компонент для доступа | | компонент-провайдер | | к данным | | конкретного диалекта SQL | +-----------------------+ +--------------------------+ | | | +-----------------------+ | | v v +----------------------------------+ | компонент визуального построения | | SQL запроса: графическая часть, | | а также список полей, сортировок | | и группировок в табличном виде | +----------------------------------+ | | v +--------------------------+ +--------------------------+| +--------------------------+|| | компоненты формирования ||| | результирующего кода SQL ||+ | в различных форматах |+ +--------------------------+На сегодняшний день мы предлагаем вниманию пользователей две редакции нашего компонента: бесплатную и стандартную коммерческую. Коммерческая редакция к моменту выпуска финальной версии будет поддерживать не менее восьми диалектов SQL (ANSI-92, MS SQL, MySQL, PostgreSQL, Interbase/Firebird, Oracle, DB2, Sybase), иметь значительное число компонентов доступа к данным (ADO, BDE, Zeos и т.д.), и некоторые другие дополнительные возможности. Бесплатная редакция будет ограничена единственным диалектом SQL - стандартом ANSI-92, а также компонентами доступа к ADO и BDE.
Разумеется, мы не собираемся останавливаться на достигнутом - в наших планах расширение списка поддерживаемых диалектов SQL, а также построение запросов обновления данных (INSERT, UPDATE, DELETE). Также планируется выпуск визуальной части на базе профессиональных интерфейсных библиотек типа Developer Express или TMS Software и написание подобного компонента для .NET.
Большое спасибо за внимание!
Скачать: www.activequerybuilder.com/download.html