Забыли пароль?

Как использовать хранимые процедуры в FastReport.Net

Dmitriy Fedyashov

В этой статье пойдет речь об использовании хранимых процедур для получения данных для отчета. На примере MS SQL я покажу вам как создавать м использовать функции в отчете.

Как вы знаете Transact SQL позволяет нам создавать нам хранимые процедуры и функции. Хранимые процедуры применяются для автоматизации каких-либо действий. Функции же предназначены для расширения возможностей запросов. Они могут выполняться в составе запроса и всегда возвращают значение. Хранимые процедуры вызываются инструкцией execute и могут не возвращать никаких значений.

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

Но тема данной статьи – применение хранимых процедур.

К примеру, вот простейшая хранимая процедура, которая вернет список сотрудников по названию подразделения:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
SET ANSI_NULLS ON
 
GO
 
SET QUOTED_IDENTIFIER ON
 
GO
 
-- =============================================
 
-- Description: Returns employees by department
 
-- =============================================
 
ALTER PROCEDURE dbo.DepartmentEmployee
 
 @DepName varchar(20)
 
AS
 
BEGIN
 
SELECT em.*, dep.NAME FROM dbo.DEPARTMENT dep
 
JOIN dbo.EMPLOYEE em ON em.DEPT_ID = dep.DEPT_ID
 
WHERE dep.NAME = @DepName
 
END
 
GO

А теперь используем эту хранимую процедуру в отчете. Создаем подключение к БД MS SQL:

 

На этапе выбора таблиц нажимаем кнопку:

 

Запускается мастер создания запроса. На первом шаге нужно задать имя новой таблицы, переходим далее.

 

Вводим текст SQL запроса. Мы будем передавать параметр отчета в качестве значения параметра запроса.

На следующем шаге создаем параметр @Dep.

В свойстве Expression указываем параметр отчета.

Значение параметра отчета можно задать в свойстве Exptession:

 

Вы также можете задавать значение параметр в диалоговой форме перед отображением отчета.

Переносим поля из источника данных в окне данных на бэнд данных. Запустим отчет:

 

Как видите, выводятся все записи сотрудников для департамента “Operations”.

Похожие статьи:

назад