SSRS(Visual Studio):使用日期/时间参数时,报表不返回任何行

时间:2017-03-24 18:12:52

标签: reporting-services

如果我在我的数据集SQL中使用它:

DECLARE @StartDate DATE = '2017-01-01'
DECLARE @EndDate   DATE = '2017-03-01'

报告运行并返回预期的数据。

当我将上述代码更改为:

DECLARE @StartDate DATE    
DECLARE @EndDate   DATE
  1. 我习惯Visual Studio检测到我有两个日期变量并创建两个日期参数。但在这种情况下,参数不会自动创建。所以,我自己创建参数 - 日期/时间。

  2. 但是...报告运行时没有数据。

  3. SSRS从日历选择中显示的日期为m / d / y [3/1/2017]格式。

    用于与@StartDate和@EndDate进行比较的数据库字段是SQL Server DateTime字段。

    这是如何在SQL中使用日期参数的示例:

    WHERE 
      a.SomeDate >= @StartDate
      AND a.SomeDate < DATEADD(dd,1,@EndDate)
    

    我创建的其他报告: 1.保存数据集后自动创建两个日期参数。 2.使用日期参数按预期返回数据。

    我将不胜感激任何建议。如果有更多我能提供的信息可以帮助您,请告诉我们!

1 个答案:

答案 0 :(得分:0)

当您编写数据集的查询时,不应声明参数。如果您声明它们,则SSRS假定它们是本地的。

参数数据类型是根据用途推断的,但您可以将其更改为以后需要的任何内容。