我开始学习Reporting Services了。我做了第一个使用参数化存储过程作为数据源的报告。不幸的是,即使从Management Studio调用该过程时,该报告也是空的。参数提示符在那里,我输入了应该起作用的值。有没有办法看到传递给SQL服务器的内容(我正在使用带有SQL Server 2012 Express的VS 2012 PRO,所以我没有SQL Profiler ......)?有没有办法显示错误?
答案 0 :(得分:0)
好的,我终于明白了。存储过程。接受了一个可选参数:
@DealID varchar(15) = ''
我在where子句中测试它是这样的:
WHERE (@DealID='') OR (SA.Deal_ID = @DealID)
在数据集的参数设置中,我指定了默认值“”,并将其设置为接受空值并将其可见性设置为隐藏。
事实证明,即使指定了默认值,@ DealID参数也会变为空。当我注释掉WHERE子句时,我才意识到这一点,最后我得到了报告中的数据。我通过修改WHERE来解决它:
WHERE (@DealID='' or @DealID is null) OR (SA.Deal_ID = @DealID)