使用LIKE运算符在SSRS中使用参数

时间:2017-09-18 13:46:38

标签: sql-server visual-studio-2012 reporting-services ssrs-2012

我正在尝试创建一个包含各种产品组列表作为参数的报表。选择每个组时,应显示相关产品的列表。我目前得到一张空白的桌子。

query

执行查询时显示此产品组的结果。

我有以下参数和值列表:

parameters

我很难看到我出错的地方,当我预览报告时,我可以选择每个参数,但在报告中得到一个空表。我希望我给每个参数一个值的方式可能是问题,但无法弄明白。

这是报告中的查询。

DECLARE @ProductCode VARCHAR(12)

SELECT STRC_CODE, STRC_DESC FROM DeFactoUser.F_ST_Products
WHERE STRC_CODE LIKE @ProductCode

我正在使用Visual Studio Data Tools 2012来构建报告。

如果有人能给我一个线索,那将非常感激。

1 个答案:

答案 0 :(得分:1)

  

没有引号就行不通。我以为引号和通配符   必须允许LIKE运算符工作。

首先,你不需要使用引号,我现在尝试重现它,它没有引号: enter image description here

其次,SSRS发送给服务器的查询如下所示:

exec sp_executesql N'select model
from [dbo].[cars]
where model like @car',N'@car nvarchar(3)',@car=N'ca%'

所以它改变你的代码唯一的东西就是参数类型,它总是将它声明为unicode,即nvarchar(...),所以在SSMS中尝试将参数类型改为{{}的代码也许是有意义的。 1}}:

nvarchar(12)

尝试在SSMS中执行它并查看它是否返回smth

相关问题