繁体   English   中英

SSRS - 将日期/时间参数值传递给存储过程=无可用数据

[英]SSRS - Passing Date/Time Parameter Value to Stored Procedure = No data available

在我的报告中,用户可以选择日期/时间参数(日期)来过滤报告中的数据。

为了从数据库中获取数据,我使用带参数存储过程 ,因此Date / Time参数值将传递给存储过程。

当用户选择日期并运行报告时,它仅显示“无可用数据”

所以我检查了ExecutionLog3日期参数的传递方式 日期格式为“ mm / dd / yyyy hh:mm:ss”( 2014年1月14日00:00:00 - 1月14日)。

当我直接使用01/14/2014 00:00:00作为日期参数执行存储过程时,我也没有数据。 但是当我将日期更改为2014年114日00:00:0014.01.2014 00:00:00时,一切正常。 所以我想问题是,SSRS在将日期参数值发送到存储过程时使用美国日期格式

到目前为止我尝试的事情:

  • 打开使用存储过程的数据集并将日期参数值更改为CDate(Parameters!date.Value)
  • 更改了数据集中的SELECT语句,用于填充日期参数和有效日期: SELECT CONVERT(date, k.date, 'dd/mm/yyyy') as date (这里我得到一个“nvarchar to date”转换错误)

如果有人可以帮助我会很好。

该问题基于数据库的日期值格式。 您可以使用Set DateFormat命令在数据库级别设置日期格式。 我不相信这是你想要做的。 听起来您希望SSRS以正确的格式传递给数据库。

为此,请将传入数据集的参数值更改为以下表达式:

=Format(Parameters!date.Value,"dd/MM/yyyy")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM