繁体   English   中英

ASP-从MS Access DB提取记录时,使用日期格式(在WHERE子句中)挣扎

[英]ASP - Struggling with date format (in WHERE clause) when fetching records from MS Access DB

在将现有(以前工作的)网站从Windows Server 2003迁移到Server 2008的过程中,从IIS6迁移到IIS7的过程中,我遇到了这种奇怪的情况:

OpenSQL("SELECT * FROM bookings WHERE apartment_id = '" & strApartment & "' AND BookDate = #" & SwitchDate(dDate) & "#")

运行时,上述SQL脚本仅在日期中没有前导零的情况下返回行。 例如,如果日期为10/01/2010,它将返回行。 但是,如果日期为2010年1月1日,它将不会返回行。 相反,我得到这个错误:

BOF或EOF为True,或者当前记录已被删除。 请求的操作需要当前记录。

我对ASP不太熟悉(我相信在这种情况下运行VB,尽管它是经典的ASP-我不确定您如何说?)。 但这是一个非常简单的请求,我无法理解发生了什么。 我试过删除switchdate函数(删除所有前导零),并使用语法,但无济于事。

Access DB以01/01/2001格式保存记录。

尽管ACE和Jet数据库引擎确实将不明确的#xx/yy/zzzz#日期文字视为mm/dd/yyyy但它们也接受明确格式yyyy-mm-ddyyyy/mm/dd因此您最好的解决方案是将更新您的SwitchDate()函数以返回这些格式之一。

暂无
暂无

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

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