Версия для печати


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