【问题标题】:SSRS does not work when input parameter has a + sign当输入参数带有 + 号时,SSRS 不起作用
【发布时间】:2016-10-11 16:32:55
【问题描述】:

我正在创建一个包含输入参数的报告:id 和 name。这些参数用于 select 的 where 子句中,我从中获取要在列表中显示的记录。

问题在于,如果名称中有 + 号,则参数(我在页面上打印以显示过滤器)名称会出现一个空格:

输入参数=“记录+故事” 报告中显示的参数:“记录故事”

所以选择的结果是空的,因为名字不匹配!

我错过了什么?

编辑:我通过基于 VB6 的客户端应用程序打开报表。有一个带有表格和列表 od id 的主页,当我单击列表的一行时,它会将我重定向到执行过滤并仅显示所需数据的 IE 页面。 参数是:id - 整数和名称 - 文本。

当它打开 IE 页面时,我看到如果名称包含加号,则会出现一个空格,这当然是错误的,因此生成的报告是空的。

我已经尝试在客户端应用程序中添加对 VB6 的 System.Web 引用,但它不起作用。

这里有一张图片来说明我的意思。

谢谢

C.

【问题讨论】:

  • 如何填充参数?您还为参数使用了哪些数据类型?
  • 正如@BradSyputa 在提供的答案中所建议的,您必须对您的网址进行编码。

标签: select reporting-services filter report input-parameters


【解决方案1】:

最后我得到了解决方案。我只需要对我的参数进行编码,以便将 + 号读取为 + 号。这是通过使用后面代码中的十六进制值来实现的:

示例:namewithplussign ==> replace(namewithplussign , "+", "%2b")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 1970-01-01
    • 2014-03-19
    • 2014-09-27
    相关资源
    最近更新 更多