我在Visual Studio 2010中使用rdl报告。
我编写查询和刷新字段,然后提示“定义查询参数”
像这样参数名称|参数值
我设置了这个值
@proj |参数!project.Value
然后单击“确定”
我收到此错误
'!'
附近的语法不正确
我不知道'!'在我的查询
这是我在rdl数据集中查询的示例
DECLARE @sqlCom NVARCHAR(MAX)
SET @sqlCom = '
SELECT name
FROM customer
WHERE id IN ('+ @proj +')
'
IF (LEN(@phoneNo) > 0)
BEGIN
SET @sqlCom = @sqlCom + ' AND phoneNo LIKE ''%'+@phoneNo+'%'' '
END
IF (LEN(@age) > 0)
BEGIN
SET @sqlCom = @sqlCom + ' AND age LIKE ''%'+@age+'%'' '
END
EXECUTE(@sqlCom)
因此。只有@sqlCom是SQL变量 @proj,@ phoneNo,@ tag是rdl参数
任何人都可以帮我解决这个问题
谢谢。
答案 0 :(得分:0)
问题是你遗漏了'+ @proj +'
中的单引号。试试这样的事情
DECLARE @sqlCom NVARCHAR(MAX)
SET @sqlCom = '
SELECT name
FROM customer
WHERE id IN ('''+ @proj +''')
'
IF (LEN(@phoneNo) > 0)
BEGIN
SET @sqlCom = @sqlCom + ' AND phoneNo LIKE ''%'+@phoneNo+'%'' '
END
IF (LEN(@age) > 0)
BEGIN
SET @sqlCom = @sqlCom + ' AND age LIKE ''%'+@age+'%'' '
END
EXECUTE(@sqlCom)