Sql server 如果日期验证失败,则停止RS执行数据集
我有以下代码,用于检查报告中选择的日期范围Sql server 如果日期验证失败,则停止RS执行数据集,sql-server,reporting-services,Sql Server,Reporting Services,我有以下代码,用于检查报告中选择的日期范围 Function ValidateDateRange(StartDate as DateTime , EndDate as DateTime) as Boolean Dim RetValue As Boolean RetValue = "False" if(DateDiff("m",StartDate,EndDate)>3) Then RetValue = "False" Else RetValue = "True" End if
Function ValidateDateRange(StartDate as DateTime , EndDate as DateTime) as Boolean
Dim RetValue As Boolean
RetValue = "False"
if(DateDiff("m",StartDate,EndDate)>3) Then
RetValue = "False"
Else
RetValue = "True"
End if
Return RetValue
End Function`
我创建了一个名为ValidateDate的隐藏参数,并将此代码作为表达式指定给默认值
=Code.ValidateDateRange(Parameters!DateFrom.Value, Parameters!DateTo.Value)
我有一个显示消息的文本框
所选日期范围必须小于3个月
并且可见性属性设置为此隐藏变量
到目前为止,这批货有效
但是,如果在选择的日期范围大于3个月的情况下运行报告,则会出现文本框,但数据集仍会执行检索数据存储过程
当日期范围验证失败时,是否有方法阻止RS执行数据集?您可能需要向存储过程添加类似的验证。像下面这样的方法应该可以奏效
IF DATEDIFF(month, @startDate, @endDate) <= 3
BEGIN
[your stored procedure here]
END