使用ACCESS数据库时候SQL语句存在的问题
我发现ASP页面使用SQL语句的时候如果数据库是ACCESS,SQL语句好像很多都无法使用,比如COUNT比如下面的这个例子
<!--#include file= "conn.asp"-->
<%
set rs = server.CreateObject("adodb.recordset")
rs.open "select * from mytable where xiadanshijian in ("&date-14&","&date&")",conn,1,1
response.write "rs.recordcount="&rs.recordcount&" date-14="&date-14&" date="&date
close()'关闭RS,CONN函数,下同
%>
条件是:选取mytable中符合xiadanshijian是date或者是date-14的所有记录
我保证我的数据表mytable至少有一条是符合条件的,即是当天输入的记录,但是在测试中,记录集中却没有1条记录,rs.recordcount是0
还有
<!--#include file= "conn.asp"-->
<%
set rs = server.CreateObject("adodb.recordset")
rs.open "select * from mytable where xiadanshijian between "&date-14&" and "&date,conn,1,1
response.write "rs.recordcount="&rs.recordcount&" date-14="&date-14&" date="&date
close()
%>
条件是:选取mytable中符合xiadanshijian是date和date-14中间的所有记录
我保证我的数据表mytable至少有一条是符合条件的,但是在测试中,记录集中仍然没有1条记录,rs.recordcount是0
还有如果使用COUNT,比如:
<!--#include file= "conn.asp"-->
<%
set rs = server.CreateObject("adodb.recordset")
rs.open "select count(*) maxrecord from mytable",conn,1,1
response.write "maxrecord="&maxrecord
close()
%>
测试报错:Microsoft JET Database Engine (0x80040E14)
语法错误 (操作符丢失) 在查询表达式 'count(*) maxrecord' 中。
如果换成
rs.open "select count(*) as maxrecord from mytable",conn,1,1
则不报错,但maxrecord为空,就是没有任何值
本人百思不得其解,像这样的问题不胜枚举,难道在ACCESS里对SQL语句的使用有限制?但是没有听说过啊!小弟经验有限,还请各位经验丰富的行家里手指教一二,不胜感激!!!