Delphi

Delphi tquery: TQuery 2 — Delphi Sources FAQ

Компонент Visual SQL Query Builder для Delphi и C++ Builder

Построитель активных запросов » Построитель SQL-запросов

Visual SQL Query Designer для Delphi и C++ Builder

Active Query Builder VCL Edition — это набор компонентов визуального конструктора запросов, который позволяет вашим конечным пользователям создавать SQL-запросы с объединениями и подзапросами с помощью интуитивно понятного визуального интерфейса .

Active Query Builder VCL Edition имеет мощный анализатор SQL, который позволяет анализировать и изменять сложные запросы SQL. Active Query Builder — это настоящий двусторонний конструктор запросов, так что вы можете сочетать визуальное построение запросов с прямым редактированием текста SQL-запроса.

Обзор продукта
Последняя версия:
1.33.0
История изменений
Цена от:
org/Offer»> 195 $
Все варианты покупки
Загрузить бесплатную пробную версию

Требования к Active Query Builder VCL Edition

  • Поддерживает все версии Delphi и C++ Builder, начиная с 5 до Tokyo 10.2 .
  • Скомпилировано для 32- и 64-битных режимов.
  • Работает с подавляющим большинством компонентов доступа к данным.
  • Локализовано на десятки языков.
  • Поддерживает службу создания скинов VCL Styles .
  • Поддерживает языков сценариев с письмом справа налево .
  • Может быть скомпилирован со стандартными элементами управления
    VCL, TNT или DevExpress
    .

Основные возможности Active Query Builder VCL Edition

  • Простой и понятный визуальный интерфейс построения SQL-запросов
    • Простое создание сложных запросов SQL с объединениями и подзапросами.
    • Удобный интерфейс в стиле MS-Access с поддержкой перетаскивания.
    • Двустороннее построение SQL-запроса (в сочетании с редактированием текста SQL).
    • Настраиваемое форматирование текста запроса SQL.

    Подробнее о пользовательском интерфейсе »


  • Настраиваемая среда построения запросов
    • Полная замена непонятных имен объектов и полей удобными псевдонимами.
    • Представление часто используемых выражений и подзапросов в виде обычных объектов и полей базы данных.

    Подробнее о настройке среды »


  • Простое управление метаданными
    • Скрытие определенных нежелательных объектов или автоматическая фильтрация по схеме или имени объекта.
    • Программная загрузка метаданных из разных источников (через веб-сервисы или из наборов данных).
    • Работа отключена от базы данных, метаданные хранятся в файлах XML.

    Подробнее об управлении метаданными »


  • Мощный API для анализа и изменения запросов SQL
    • Ограничение доступа к нежелательным объектам, предотвращение выполнения SQL-запросов.
    • Быстрый доступ к исчерпывающей информации о запросе: объекты и поля базы данных, столбцы и параметры запроса.
    • Простое изменение SQL-запросов для преобразования данных результатов в соответствии с запросами конечного пользователя.
    • Полный доступ к внутренним объектам представления запросов для анализа и модификации запросов SQL.

    Узнайте больше об API программирования »


  • Возможность компиляции компонента с элементами управления DevExpress VCL или визуальными элементами управления с поддержкой Unicode из библиотеки TNT

    Компиляция Active Query Builder со сторонними элементами управления позволит вам идеально согласовать внешний вид компонента с остальной частью вашего приложения. Компиляция Active Query Builder с библиотекой TNT позволит вам воспользоваться преимуществами визуального построения запросов с поддержкой Unicode с любой версией IDE Delphi или C++ Builder. Обратите внимание, что эта возможность доступна для клиентов компонента с исходным кодом только в той мере, в какой это необходимо для перекомпиляции со сторонними пакетами.

  • BDE, ADO, dbExpress, IB Express, Zeos и многие другие компоненты подключения к базам данных Delphi и пользовательские поставщики метаданных.

    Мы планируем создать поставщиков метаданных для всех популярных компонентов подключения к базам данных, но, конечно, мы не можем охватить их все. Таким образом, мы предусмотрели другие способы загрузки метаданных в построитель запросов из любого источника данных. Используя их, вы можете работать в автономном режиме, предоставляя всю необходимую информацию метаданных самостоятельно. (Вы можете узнать больше о различных способах загрузки метаданных в демонстрационном проекте «Загрузка метаданных», включенном в пробную версию)

  • Полный список функций Active Query Builder VCL Edition .

Ценные дополнения к подписке Professional VCL

  • Расширенный текстовый редактор SQL и редактор выражений с автодополнением кода и подсветкой синтаксиса.
  • Visual SQL Filter Builder и другие визуальные элементы управления.
Связанные страницы

  • Построитель SQL-запросов »
  • » Визуальный конструктор запросов
  • » Среда построения запросов
  • » Текстовый редактор SQL
  • » Ассистент просмотра данных
  • » Управление метаданными
  • » Интерфейс программирования
  • Полнофункциональная матрица
  • Скриншоты
  • Построитель запросов SQL для .NET »
  • » Выпуск WinForms
  • » Редакция WPF
  • » Выпуск ASP.NET
  • » Профессиональная подписка .NET
  • Построитель запросов SQL для Java
  • Элемент управления ActiveX построителя запросов SQL
  • Построитель запросов SQL для Delphi
  • » Профессиональная подписка VCL

Новости

  • 11.04.2023 Active Query Builder VCL Edition 1.33 ускоряет работу текстового редактора SQL
    Новый элемент управления построителем фильтров SQL позволяет сохранять пользовательские фильтры между рабочими сеансами.
  • 19.01.2023 Active Query Builder VCL и ActiveX Editions 1.32 позволяют упаковывать часть запроса в подзапрос.
    Теперь можно выбрать несколько объектов в области дизайна для выполнения различных действий.
  • 24.07.2022 Active Query Builder для .NET 3.9 позволяет упаковать часть запроса в подзапрос.
    Теперь можно выбрать несколько объектов в области дизайна для выполнения различных действий.
  • » Новости Active Query Builder
  • Подписаться

Твиты

Твиты от @activedbsoft

  • Подпишитесь на @activedbsoft

Отзывы

Мы используем Active Query Builder более года и должны сказать, что и продукт, и поддержка были выдающимися!

Мы выбрали Active Query Builder из-за его гибкости и возможностей, но остались очень довольны его мощью и скрытыми возможностями. …

Подводя итог, Active Query Builder предоставляет отличные компоненты, отличную поддержку и очень гибкий набор функций. Это позволило нам предоставить нашим конечным пользователям функции, которые, по моему мнению, были бы невозможны в первом выпуске наших новых инструментов и в сроки, которые были намного короче, чем планировалось. Я бы порекомендовал всем, кто имеет дело с базами данных в мире .Net, знать об этом компоненте и его возможностях!

Джоэл Тесдалл

Рейтинг: 5 из 5


  • Все отзывы Active Query Builder
  • Оставьте свой отзыв

Социальные сети

TQuery ExecSQL — как увидеть актуальную инструкцию SQL

 Я уверен, что упускаю что-то очевидное и простое. я пробовал искать
Google Groups, но не смог найти ни одного полезного ключевого слова для получения
отвечать...


Итак, у меня есть TQuery. Я установил для свойства SQL довольно простое
Оператор обновления с четырьмя параметрами, объявленными в :SomeValue.
синтаксис. В свойстве Parameters я установил типы данных (строка,
дата и т. д.) для каждого из параметров.
Итак, во время выполнения я задаю параметры и запускаю ExecSQL. Это терпит неудачу, и дает мне типичное загадочное сообщение об ошибке, что он попал в неожиданную символ или токен. Он даже говорит мне линию и позицию. Дело в том, что я смотрю на эту линию и положение и ничего не вижу. неправильный. Конечно, я смотрю на запрос в его состоянии «до», с имена параметров, а не *фактический* запрос, который передается движок базы данных. Итак, наконец, вот вопрос: как я могу взглянуть на настоящую Оператор SQL, который ExecSQL пытается запустить? То есть утверждение где параметры :SomeValue были заменены значениями I передается в различные параметры. Если непосредственно перед вызовом ExecSQL я вывожу свойство SQL содержимого я вижу оператор с именами параметров. Есть ли какой-нибудь скрытое свойство, содержащее настоящее утверждение? На данный момент я спрашиваю просто из любопытства. я уже решил просто создать строку запроса самостоятельно в коде вместо использования параметры.
Так я смогу точно его контролировать. Но я действительно думаю, что я Должно быть, я упускаю из виду что-то очевидное, и это меня раздражает. Заранее спасибо.
0
Том

12.11.2008 17:07:13

📁 embarcadero.delphi.database

📃 1294 статьи.
⭐ 0 подписчиков.

💬 11 ответов
👁️‍🗨️ 1269 просмотров


 Том Кори написал:

> Итак, напоследок, вот вопрос: как я могу взглянуть на реальную
> Оператор SQL, который пытается выполнить ExecSQL? Это
> оператор, в котором параметры :SomeValue были заменены
> значения, которые я передал в различные параметры.

Что ж, "настоящая инструкция SQL" - это *не* SQL с параметрами
заменены значениями. Фактически это SQL с параметрами
заменены заполнителями параметров (обычно '?').  Значения параметров
сами отправляются на сервер базы данных отдельно. Вы можете видеть все
этого в приложении SQL Monitor.

--
Крейг Стунц · Vertex Systems Corp. · Колумбус, Огайо
Веб-блог Delphi/InterBase: http://blogs.teamb.com/craigstuntz/
 
0
Крейг

12.11.2008 17:12:10

 Крейг Стунц написал:

> Ну, "настоящая инструкция SQL" - это не SQL с параметрами
> заменены значениями. Фактически это SQL с параметрами
> заменены заполнителями параметров (обычно '?'). Параметр
> сами значения отправляются на сервер БД отдельно. Ты
> Все это можно увидеть в приложении SQL Monitor.

Вау, должно понравиться это время отклика!

Значит, я неправильно понял, как работает компонент, а? я думал
параметры и запрос объединяются в TQuery
компонент, а затем отправляется в механизм SQL.  Но на самом деле они отправляются
по отдельности, потом объединить и запустить (или, в моем случае, нет) на сервере
сторона.

Что ж, мне от этого немного легче — по крайней мере, я не промахнулся.
что-то действительно очевидное. Самостоятельное построение оператора в коде подойдет
трюк для меня.

Спасибо!
 
0
Том

12.11.2008 17:21:03

 Том Кори написал:

> А на самом деле их посылают
> по отдельности, потом объединять и запускать (или, в моем случае, не запускать) на сервере
> сторона.

Верно. Это позволяет серверу лучше оптимизировать запрос в
распространенный случай, когда вы выполняете один и тот же запрос несколько раз с
различные значения параметров. (Например, и прокрутка
набор основных данных и просмотр соответствующих подробных записей.)

--
Крейг Стунц · Vertex Systems Corp.  · Колумбус, Огайо
Веб-блог Delphi/InterBase: http://blogs.teamb.com/craigstuntz/
 
0
Крейг

12.11.2008 17:28:02

 "Том Кори" написал в сообщении
новости:[email защищен]...
>
> Итак, во время выполнения я задаю параметры и запускаю ExecSQL. Это терпит неудачу, и
> выдает типичное зашифрованное сообщение об ошибке о том, что произошло неожиданное
> символ или токен. Он даже говорит мне линию и позицию.

Итак, давайте посмотрим текст запроса и ваш код назначения параметра.


--
Уэйн Ниддери — TeamB (www.teamb.com)
Советы по публикации: http://dn.codegear.com/article/38467
Winwright, Inc. (www.winwright.ca)
 
0
Уэйн

13. 11.2008 16:48:26

 Уэйн Ниддери написал:

>> Итак, во время выполнения я устанавливаю параметры и запускаю ExecSQL. Это терпит неудачу, и
>> выдает типичное зашифрованное сообщение об ошибке о том, что произошло неожиданное
>> символ или токен. Он даже говорит мне линию и позицию.
 
> Итак, давайте посмотрим текст запроса и ваш код назначения параметров.

Однажды я изменил свой подход к созданию инструкции SQL самостоятельно.
того, что он построен из параметров, проблема стала ясной.

Мои знания SQL в основном связаны с Transact-SQL (MS и Sybase). В этом так долго
при правильном форматировании значения даты Transact SQL может его обработать.
Однако рассматриваемый проект использует NexusDB, который использует другой (и
Я считаю более «стандартным») синтаксис SQL. Требовалось, чтобы значение даты
предшествовать ключевому слову «отметка времени».

Когда я впервые написал эту программу, у меня не было реальных знаний SQL, поэтому
все это было сделано строго по Delphi.  Тем временем,
последние четыре года я активно работал с SQL, поэтому для первого
время я использую эти новые навыки в этой программе. Много много
проще для многих вещей, которые мне нужно сделать, но этот небольшой синтаксис
различия между вариантами SQL могут привести к неожиданным ошибкам.
 
0
Том

14.11.2008 16:11:20

 "Том Кори" написал в сообщении
новости:[email защищен]...
>
> Однажды я изменил свой подход к самостоятельному составлению операторов SQL.
> построив его из параметров, проблема стала очевидной.

Нормальный ход событий таков, что использование параметров *исправляет* проблемы,
особенно с датами. :)

> Мои знания SQL в основном связаны с Transact-SQL (MS и Sybase). В этом так долго
> если вы правильно отформатируете значение даты, Transact SQL сможет его обработать. 

Такие требования к форматированию исчезают с параметрами.

>
> Однако рассматриваемый проект использует NexusDB, который использует другой (и
> Я считаю более "стандартным") синтаксис SQL. Требовалось, чтобы значение даты
> предшествовать ключевому слову «отметка времени».

Никогда не видел, чтобы стандартный SQL требовал этого, Nexus был бы очень нестандартным в
Это дело. Большинство баз данных принимают прямые даты *в кавычках как строки*, для
пример:

 ... где StartDate > '31.12.2008'

мм/дд/гггг общепризнано для баз данных SQL AFAIK, и большинство из них принимают
различные другие форматы, а также. Но опять же параметры просто убирают это
озабоченность, я *всегда* использую:

 ... где StartDate > :startdate

а затем назначьте параметр с помощью переменной TDateTime:

  MyQuery.ParamByName('StartDate').AsDateTime := MyDateVar;

--
Уэйн Ниддери — TeamB (www.teamb.com)
Советы по публикации: http://dn.codegear.com/article/38467
Winwright, Inc. (www.winwright. ca)
 
0
Уэйн

15.11.2008 12:52:54

 Уэйн Ниддери написал:

> Нормальный ход событий таков, что использование параметров устраняет проблемы,
> особенно с датами. :)

«Нормальный» почти никогда не применим ко мне.


> Никогда не видел, чтобы стандартный SQL требовал этого, Nexus был бы очень
> нестандартно в данном случае. Большинство баз данных принимают прямое *цитирование как
> строка* даты, например:

Я провел еще несколько исследований по этому поводу. В NexusDB v2 литералы даты и времени имеют
ключевые слова DATE, TIME или TIMESTAMP, соответствующие стандарту
Синтаксис SQL:2003. (эта информация взята из групп новостей Nexus)

Я подозреваю, что очень немногие другие базы данных SQL следуют этому стандарту.
еще.


> и затем назначьте параметр, используя переменную TDateTime:
> MyQuery. ParamByName('StartDate').AsDateTime := MyDateVar;

Оглядываясь назад, я понимаю, что, конечно, я мог бы продолжать использовать
подход с параметрами, и мне просто нужно было настроить SQL, который я использовал
в запросе.
 
0
Том

17.11.2008 16:12:46

 "Том Кори" написал в сообщении
новости:[email защищен]...
>
> Я провел еще несколько исследований по этому поводу. В NexusDB v2 литералы даты и времени имеют
> ключевые слова DATE, TIME или TIMESTAMP, соответствующие стандарту
> Синтаксис SQL:2003. (эта информация взята из групп новостей Nexus)


Хорошо, я еще не видел этого. Интересно, зачем нужна или какая польза есть
так как вам все еще нужно правильно отформатировать строку даты после использования этих
ключевые слова. Лучшее, что я вижу, это то, что это может стимулировать более широкое использование одного
формат для даты и времени, но я думаю, что это будет иметь ограниченный успех. 

--
Уэйн Ниддери — TeamB (www.teamb.com)
Советы по публикации: http://dn.codegear.com/article/38467
Winwright, Inc. (www.winwright.ca)
 
0
Уэйн

18.11.2008 17:40:39

 "Том Кори" написал в сообщении
новости:[email защищен]...

> Дело в том, что я смотрю на эту линию и позицию и ничего не вижу
> неправильно. Конечно, я смотрю на запрос в его состоянии «до»,
> с именами параметров, а не с *настоящим* запросом, который
> переданы движку базы данных.

Какой именно тип класса Exception вызывается? Я не знаю, если TQuery
делает это, но я видел, что другие компоненты БД предоставляют фактический SQL
заявление, которое было выполнено.

--
Реми Лебо (TeamB)
 
0
Реми

18. 11.2008 18:05:39

 Уэйн Ниддери написал:  > Хорошо, я еще не видел. Интересно, зачем нужна или какая польза
> есть, так как вам все равно нужно правильно форматировать строку даты
> после использования этих ключевых слов. Лучшее, что я вижу, это то, что это может
> поощрять более широкое использование единого формата для даты и времени, но я думаю
> это будет иметь ограниченный успех.  И вы могли бы подумать, что правильно отформатированная строка даты/времени будет
достаточно, чтобы предупредить анализатор SQL: «Привет, я вручаю вам
дата".  Даже если другие поставщики SQL примут этот синтаксис, я бы поставил доллары на
пончики, они не сделают это обязательным, так как это нарушит все виды
существующий код.  Поскольку я пишу весь новый код, для меня это не имеет большого значения, теперь
что я знаю об этом. Это заставило меня биться головой о стену
хотя несколько часов, пока я не наткнулся на ответ.  NexusDB нужно добавить на первый экран своего файла справки большой,
полужирное, красное, подчеркнутое сообщение "Эй, Том, придурок! Вот как мы форматируем
значения даты.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *