Подключение к хранимым в MsSQL процедурам для .NET

28.11.2022

Подключение к хранимым в MsSQL процедурам для .NET

Разработка новых функций у продукта FastReport .NET не стоит на месте. Наша команда всё больше расширяет функционал нашей библиотеки для генерации отчетов. С недавним обновлением была добавлена возможность подключаться к хранимым в MsSQL процедурам. Эти хранимые процедуры являются набором инструкций, которые выполняются единовременно. Тем самым хранимые процедуры позволяют упростить комплексные операции и вынести их в единый объект.

Ранее к ним подключиться можно было только если использовать запрос к базе данных. Теперь же достаточно применить стандартную схему подключения к таблицам базы данных.

Список таблиц и хранимых процедур

 

Иконки у процедур будут отличаться. Также если процедура будет иметь входные параметры, то при ее выборе будет появляться окно с параметрами этой процедуры. В этом окне необходимо задать значения параметрам при необходимости. В случае если используются значения параметров процедуры по умолчанию, то нужно оставить пустыми поля Expression и Value.

Редактор параметров процедуры

 

Если процедура принимала выходные параметры, то после создания подключения они появятся в “Параметры отчета”. Такие параметры обновятся только при загрузке информации в источник данных.

 

Подключение к процедуре из кода:

// Создание объекта MsSqlDataConnection
var connection = new MsSqlDataConnection();
// Установка строки подключения 
connection.ConnectionString = @"Data Source=DESKTOP-43LGTAI;AttachDbFilename=;
Initial Catalog=EmployeeCaseStudy;Integrated Security=True;Persist Security Info=False;User ID=;Password="
;
// Инициализация всех таблиц connection.CreateAllTables(); // Установка имени подключения connection.Name = "NewConnection"; //Создание объекта Report var report = new Report(); // Добавление подключения к отчету report.Dictionary.Connections.Add(connection); // Включаем отображение подключения connection.Enabled = true; // Выбираем таблицу и подключаем ее к отчету foreach (TableDataSource table in connection.Tables) { if (table.Name == "sp_GetUser") { foreach (CommandParameter parameter in table.Parameters) if (parameter.Name == "@id") parameter.Value = 1; table.Enabled = true; } }

Найти процедуры в списке таблиц можно через их проверку на соответствие ProcedureDataSource.

Теперь пользователи FastReport .NET смогут использовать заранее подготовленные сценарии по выборке данных из базы в нескольких отчетах быстрее и проще.

1 ноября 2024

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

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

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

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

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

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