如何将参数传递给SSRS中的过程?

问题描述:

我有一个表是这样的:如何将参数传递给SSRS中的过程?

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值(只是参数)

如何将参数传递给报告?

您可以在报表设计器中定义参数。打开报告数据选项卡(应与解决方案资源管理器位于同一位置,如果不存在,则可以通过打开报告,单击View-ReportData来显示报告数据码头)。

双击报告数据集时,可以配置报告参数。如果您选择一个参数为数据源的存储过程,设计人员应该自动检测过程的参数,并为您填写参数选项卡中的值。但请确保检查数据类型,因为检测到的数据类型通常不是您真正需要的数据类型。

+0

实际上,在我的reql要求中,我的过程包含40个参数,但用户必须仅为一个参数传递值客户端或用户不应传递39个参数。我怎样才能使用只有一个参数,而不是给39参数 – Franklin

+0

可以任何一个帮助我如何通过perticuler参数到程序 – Franklin

+0

嗨,汤姆,你会再次看到我的要求,并分享你的想法 – Franklin

在您的数据集中,只需传递exec p1 (@EmpID)作为查询,然后在Report中自动创建一个名为EmpID的参数。在这里,当用户运行报告时,它要求输入EmpID,只需输入ID并运行报告...

+0

hemanth你能告诉我如何限制每个页面的10条记录。 – Franklin

+0

添加表格的行分组为“= ceiling(rownumber(nothing)/ 10)”,并在组属性中选择“在每个组的实例上添加分页符”选项... – hemanth