我有一张这样的桌子:
create table emp(empid, empname, sal)
insert emp values(101, 'srewt', 1500)
该表包含 10000 行。
我也有一个这样的存储过程:
create procedure p1 (@eid int)
as
begin
select * from emp where empid = @eid)
end
在 SSRS 中我执行此过程
exec p1 (' ')
但我必须向报告提供用户交互以传递
empid
值(除了参数之外什么都没有)
如何向报表传递参数?
您可以在报表设计器中定义参数。打开报告数据选项卡(应该与解决方案资源管理器位于同一位置。如果不存在,您可以通过打开报告并单击“查看-报告数据”来显示报告数据坞)。
双击报表数据集,可以配置报表参数。如果您选择带有参数的存储过程作为数据源,设计器应自动检测该过程的参数并为您填写参数选项卡中的值。但请务必检查数据类型,因为检测到的数据类型通常不是您真正需要的数据类型。
在您的数据集中,只需将
exec p1 (@EmpID)
作为查询传递,然后将在报告中自动创建名为 EmpID 的参数。这里,当用户运行报告时,它要求输入 EmpID,只需提供 ID 并运行报告...