当输入参数带有+号

时间:2016-10-11 16:32:55

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

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

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

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

因此,选择的结果为空,因为名称不匹配!

我错过了什么?

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

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

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

这张照片是为了澄清我的意思。

enter image description here

谢谢

下进行。

2 个答案:

答案 0 :(得分:0)

您可能需要对字符串进行URL编码。看一下这篇文章。

http://capstonebi.blogspot.com/2010/04/url-encoding-in-reporting-services.html

答案 1 :(得分:0)

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

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