Как использовать 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 – все что угодно. Выглядит это так:

 

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

 

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

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

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

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

2 сентября 2024

Обзор облачного решения для создания и управления отчетами

МоиОтчеты Облако — это мощное облачное решение для создания и управления отчетами, обеспечивающее широкий спектр возможностей, от создания документов в различных форматах до интеграции с корпоративными системами.
12 августа 2024

Как собрать и установить плагин Postgres в FastReport .NET

В этой статье описывается подключение к базе посредством плагина FastReport .NET для дизайнера отчетов из Visual Studio через NuGet-сервер.
8 августа 2024

Как установить FastReport .NET и его компоненты в Windows

Пошаговая инструкция по онлайн и ручной установке через регистрационный код FastReport .NET и его компонентов в Windows.