Как использовать SQL запросы при создании внутреннего источника данных отчета в дизайнере отчетов FastReport .NET

02.09.2019

При создании подключения к SQL СУБД вы можете задать запрос, чтобы выбрать отфильтрованные или комбинированные данные. Штатные средства мастера создания источника данных также позволяют включать параметры в SQL запрос. При этом, обозначение параметра будет зависеть от типа СУБД, к которой происходит подключение. Например, для MS SQL параметр в запросе имеет префикс @. А для базы Access вместо параметра указывается символ "?". Если параметров несколько, то в запрос они будут подставляться согласно порядку в списке параметров.

Допустим, мы создали строку подключения к базе данных MS SQL. Следующий шаг – выбор таблиц:

 

На этом этапе мы можем создать SQL запрос с помощью кнопки Add SQL query… . Результат будущего запроса будет сохранен в таблице. Требуется задать ее имя:

 

Затем, пишем текст запроса:

 

Конечно, тут можно воспользоваться визуальным конструктором запросов, но нам сейчас это не нужно, цель демонстрации – запрос.

Мы указали параметр в условии запроса. На следующем шаге нужно создать параметр с тем же именем.

 

Так как мы просто демонстрируем работу с параметрами, то просто зададим значение по умолчанию:

Далее выбираем нужные колонки.

Вот и все. Таблица готова.

Помните, желательно писать запросы по всем правилам SQL, с указанием схемы и, возможно, с названиями в кавычках. Вот пример правильного запроса к базе postgresql:

1
SELECT * FROM public."Users" WHERE "Users"."Name"= @Name

Но, помимо параметризированного запроса, мы также можем использовать динамические запросы. Это запросы, которые мы формируем в текстовом виде, а затем – выполняем. Такие запросы позволяют с помощью переменных отчета подставлять, например, имя таблицы или параметра, или часть условия where – все что угодно. Выглядит это так:

 

Но и это еще не все. Вы также можете использовать хранимые функции и хранимые процедуры в запросе. Пример использования функции:

 

Параметры в функции передаются в скобках через запятую.

Пример использования хранимой процедуры:

Параметры в хранимой процедуре следуют после имени процедуры через запятую.

Таким образом вы можете расширить возможности формирования данных, чтобы не делать это внутри отчета.

1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.
28 октября 2024

Как настроить WSL 2 для работы с FastReport и FastCube

В этой статье попробуем вместе разобраться, как настроить WSL 2 для работы с компонентами FastReport и FastCube в Lazarus для Linux.