显示记录而不传递参数值或在SSRS

时间:2016-06-27 05:24:22

标签: reporting-services

在我的SSRS报告中,我传递了三个参数 第三个参数(它是一个搜索参数)允许空值和多个值。报告通过传递空值或将一个值传递给第三个参数来给出结果,但是当我们在第三个参数中传递多于1个值时抛出错误。

我在数据集中使用下面的查询来处理这种情况

IF (@Parameter3 = '')
BEGIN
    SELECT *
    FROM   [MyTableName] WITH(NOLOCK)
    WHERE  col1 IN (@Parameter1)
           AND col2 IN (@Parameter2)
END
ELSE
BEGIN
    SELECT *
    FROM   [MyTableName] WITH(NOLOCK)
    WHERE  col1 IN (@Parameter1)
           AND col2 IN (@Parameter2)
           AND col3 IN (@Parameter3) 
END

此处参数3用于传递null和多个值。

1 个答案:

答案 0 :(得分:1)

,应该有一些分离 - 使用逗号或任何特殊字符。

例如:如果您通过@ Parameter3传递了多个值并用逗号 IF (@Parameter3 = '') BEGIN SELECT * FROM [MyTableName] WITH(NOLOCK) WHERE col1 IN (@Parameter1) AND col2 IN (@Parameter2) END ELSE BEGIN SELECT * FROM [MyTableName] WITH(NOLOCK) WHERE col1 IN (@Parameter1) AND col2 IN (@Parameter2) AND col3 IN ISNULL(@Parameter3,'NULL') END 分隔数据,则您的查询应如下所示。

func respondToGesture(gesture: UIGestureRecognizer) {
    let containsPoint = CGRectContainsPoint(targetView.bounds, gesture.locationInView(targetView))
}