【发布时间】:2020-07-02 20:41:10
【问题描述】:
- 在 SSRS 中,我有一个整数类型的参数。
- 参数值是从数据集中绑定的,因此在报表加载后我们可以选择参数并运行报表。
- 我的情况是我必须在不影响现有功能的情况下从 Web 应用程序传递相同的参数。与“1,2,3”一样,这些是存在于下拉列表中的 ID。
详细说明问题:
我在 SSRS 数据集中有一个查询,它采用参数 employeeIds(这是一个多选参数)查询类似于 EmployeeTable.Id in (@employeeIds)
当我使用 SQL 分析器并看到针对我的数据库执行的查询时,它看起来像这样 EmployeeTable.Id in (21,34,56,81)
这很好,到目前为止一切正常。现在我需要从 ASPX 页面调用相同的报告而不显示 SSRS 过滤器窗格(所以我必须构造我的参数并传递给 SSRS 报告)
这是我尝试传递参数的方式
parameters(10) = New ReportParameter("employeeIds", "21,34,56,81")
这会引发如下错误
无法将 varchar 转换为整数
如果我将 Report 参数更改为会破坏 SSRS 参数过滤器逻辑的字符串,那么我不能这样做。在不干扰当前工作的 SSRS 报告的情况下,如何将这个参数从代码传递到报告?
任何帮助将不胜感激!
【问题讨论】:
-
所以.. 到目前为止你有什么问题,你到底遇到了什么问题?
-
当我传递逗号分隔的输入时出现异常说明 - 无法将字符串转换为整数
-
如果您将参数的数据类型更改为文本会怎样?
-
如果我将其更改为文本,则没有错误,但 SSRS 无法识别和应用值。输入文本并传递一个值,例如“1”,它工作正常
-
@Harry 请查看我更新后的问题,我已经详细说明了所有细节。
标签: asp.net sql-server ssrs-2012