[英]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年1月14日00:00:00或14.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.