Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 经典ASP,IIS6和IIS8之间的日期差异_Ms Access_Iis_Asp Classic - Fatal编程技术网

Ms access 经典ASP,IIS6和IIS8之间的日期差异

Ms access 经典ASP,IIS6和IIS8之间的日期差异,ms-access,iis,asp-classic,Ms Access,Iis,Asp Classic,我正在帮助将经典asp网站(前端)和ms access数据库(后端)从Windows 2003 IIS6服务器迁移到Windows 2012 IIS 8.5服务器。我对这个问题特别有意见 sqlquery1 = "Select RentalNum, CarID, RentalStatus, StartDate, EndDate from table where CDate(EndDate) <= CDate('"&Date()&"') order by CDate(EndD

我正在帮助将经典asp网站(前端)和ms access数据库(后端)从Windows 2003 IIS6服务器迁移到Windows 2012 IIS 8.5服务器。我对这个问题特别有意见

sqlquery1 = "Select RentalNum, CarID, RentalStatus, StartDate, EndDate from table where CDate(EndDate) <= CDate('"&Date()&"') order by CDate(EndDate) desc"

sqlquery1=“从CDate(EndDate)所在的表中选择RentalNum、CarID、RentalStatus、StartDate、EndDate检查查询中使用的表达式:

CDate(“&Date()&”)
Date()
函数以日期/时间值的形式返回系统日期。但是,该表达式在日期/时间值之前和之后添加引号,从而将其转换为字符串值。然后
CDate()
获取该字符串并再次将其转换回日期/时间值

希望该描述能让您相信,这些操作充其量只是白费力气。但是,如果两台服务器具有不同的日期格式设置,则完整的
CDate()
表达式产生的日期可能会不同

我不确定这是问题的根源,但您可以轻松消除这种可能性。Access db引擎支持
Date()
函数,因此您可以直接使用它,而无需先将其转换为字符串,然后再转换为日期/时间值

sqlquery1=“选择RentalNum、CarID、RentalStatus、StartDate、EndDate”&_

“从[table]中,CDate(EndDate)按照您的建议更改查询,删除CDate和单/双引号,只留下date()部分,基本上解决了问题,并返回了预期的结果。虽然与现有系统相比,order by评估仍然不正确,但将数据库模式从文本更改为较短的日期/时间修复了该问题。现在,我只需要审核整个系统,并删除任何其他不必要的引用日期评估。非常感谢您的时间和详细解释。