asp日期的语法错误 在查询表达式 'time < #2009-2-10 上午 11:15:05#' 中。

来源:百度知道 编辑:UC知道 时间:2024/05/17 00:29:53
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 日期的语法错误 在查询表达式 'time < #2009-2-10 上午 11:15:05#' 中。
/online.asp, 第 10 行
出错的就是这句啦:sqlhs="delete * from online where time < #"& DateAdd("n", -10 , nowtime) & "#"
可是改来改去改不对啊

<%
nowkeyword=now()
sqlhs="delete * from online where time-#"&nowkeyword&"#>0"
%>
nowkeyword就是你要判断的日期(举例就是现在的时间)
大于小于你自己根据你的需要修改。

遇到过这种问题,其实并不是你写的语句有问题,而是你在获取系统时间时,获取到的时间格式里面包含了中文“上午”或“下午”,好像是windows2003server版的时间格式吧,可以通过修改注册表的方式设置时间格式,不过比较麻烦,也不实际,最好是自己写个函数来格式化获取到的日期时间。下面是个格式化日期的函数:
----------------------------------
' ============================================
' 格式化时间(显示)
' 参数:n_Flag
' 1:"yyyy-mm-dd hh:mm:ss"
' 2:"yyyy-mm-dd"
' 3:"hh:mm:ss"
' 4:"yyyy年mm月dd日"
' ============================================
Function Format_Time(s_Time, n_Flag)
Dim y, m, d, h, mi, s
Format_Time = ""
If IsDate(s_Time) = False Then Exit Function
y = cstr(year(s_Time))
m = cstr(month(s_Time))
If len(m) = 1 Then m = "0" & m
d = cstr(day(s_Time))
If len(d)