在选择指定时间生成静态时提示:

---------------------------------------------------------

错误号:-2147217900
错误描述:为 datediff 指定的参数 1 无效。sql=select * from AspCms_Content where ContentStatus=1 and LanguageID=1 and DateDiff('d', EditTime, '2015-4-2')<=0 order by ContentID

---------------------------------------------------------

通过查阅资料,应该是aspcms在ACCESS、SQL中的表达式不同。

 

改写成sql=select * from AspCms_Content where ContentStatus=1 and LanguageID=1 and DateDiff(d, EditTime, '2015-4-2')<=0 order by ContentID即可。

也就是将'd'的单引号取消即可。

 

以下内容为引用:

在SQL中的正确写法是:
sql="select * from [clients] where datediff(month,lastlogintime,getdate())>3"
'注意这里month没有使用任何的引号,同时使用的是getdate而不是now

在ACCESS中的正确写法是:
sql="select * from [clients] where datediff('m',lastlogintime,now())>3"
'这里的简写的m使用单引号,同时使用参数now