[英]SSRS does not work when input parameter has a + sign
我正在创建一个报告,其输入参数为:id 和 name。 这些参数用于选择的 where 子句中,我从中获取要显示在列表中的记录。
问题是,如果名称中有一个 + 号,则参数(我打印在页面上以显示过滤器)名称会出现一个空格:
输入参数 = "record+story" 报表中显示的参数:"record story"
所以选择的结果是空的,因为名字不匹配!
我错过了什么?
编辑:我通过基于 VB6 的客户端应用程序打开报告。 有一个带有表格和列表 od id 的主页,当我单击列表中的一行时,它会将我重定向到执行过滤并仅显示所需数据的 IE 页面。 参数是:id - 整数,和名称 - 文本。
当它打开 IE 页面时,我看到如果名称包含加号,则会出现一个空格,这当然是错误的,因此生成的报告是空的。
我已经尝试在客户端应用程序中添加对 VB6 的 System.Web 引用,但它不起作用。
这是一张图片来澄清我的意思。
谢谢
C。
您可能需要对字符串进行URL编码。 看一下这篇文章。
http://capstonebi.blogspot.com/2010/04/url-encoding-in-reporting-services.html
最后我得到了解决方案。 我只需要编码我的参数,以便将+号读为+号。 这是通过在后面的代码中使用十六进制值来实现的:
示例:namewithplussign ==> replace(namewithplussign,“ +”,“%2b”)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.