使用 SSRS 报告参数接受来自 ASP.NET 网络应用的逗号分隔整数

Use SSRS report parameter to accept comma separated integer from ASP.NET web app

  1. 在 SSRS 中,我有一个整数类型的参数。

  1. 参数值是从数据集中绑定的,因此在加载报表后我们可以 select 参数和 运行 报表。

  1. 我的情况是我必须在不影响现有功能的情况下从 Web 应用程序传递相同的参数。与“1,2,3”一样,这些是存在于下拉列表中的 ID。

详细说明问题:


我在 SSRS 数据集中有一个查询,它带有一个参数 employeeIds(这是一个多 select 参数)查询是这样的,其中 EmployeeTable.Id in (@employeeIds)

当我使用 SQL 分析器并看到针对我的数据库执行的查询时,它看起来像这样 EmployeeTable.Id in (21,34,56,81)

很好,到这里为止一切正常。现在我需要从 ASPX 页面调用相同的报告而不显示 SSRS 过滤器窗格(所以我必须构建我的参数并传递给 SSRS 报告)

这是我尝试传递参数的方式

parameters(10) = New ReportParameter("employeeIds", "21,34,56,81")

这是抛出如下错误

Cannot cast varchar to integer

如果我将我的 Report 参数更改为字符串,这将破坏 SSRS 参数过滤器逻辑,所以我不能这样做。在不干扰当前工作的 SSRS 报告的情况下,如何将此参数从代码传递到报告?

非常感谢任何帮助!

如果我没看错,您正在尝试在 aspx 页面中打开报表,并希望将参数 employeeIds 设置为特定值来打开它。因此,您正在考虑一次将 employeeIds 的参数值设置为多个值。

可能看起来像这样:

parameters(10) = New ReportParameter("employeeIds", new string[] {"21","34","56","81"})

当为一个参数提供多个值时,您需要将它们放在一个数组中。查看 here 了解更多信息。