在本文中,我们将讨论使用存储过程来检索报表的数据,使用MS SQL示例,将展示如何在报表中创建和使用函数。Transact SQL允许创建存储过程和函数,存储过程用于自动执行任何操作,这些功能旨在扩展查询功能,它们可以作为查询的一部分执行,并始终返回值。存储过程由执行指令调用,不能返回任何值,要检索报表中的数据,可以同时使用存储过程和函数。本文的主要讲解使用存储过程:例如,这是最简单的存储过程,它将按单元名称返回employees 雇员列表:
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数据库的连接:
选择表格的阶段,单击Add SQL query...按钮:弹出“Create Query Wizard创建查询向导”,在第一步中,指定新表的名称。
输入SQL查询的文本,我们将报表参数作为查询参数的值发送。
在下一步中,创建@Dep参数,在Expression属性中,指定report参数,可以在Expression属性中指定report参数的值:
还可以在显示报表之前在对话框窗体中设置参数的值,将字段从数据窗口中的数据源传输到数据带,运行报表:
将显示“Operations”部门的所有员工记录。