Виталий Измайлов дата публикации 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
[Использование SQL] [Средства управления и инструменты]
Обсуждение материала [ 09-12-2006 16:16 ] 16 сообщений |