标题:使用ACCESS数据库时候SQL语句存在的问题
取消只看楼主
happychina7
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-12-19
 问题点数:0 回复次数:0 
使用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语句的使用有限制?但是没有听说过啊!小弟经验有限,还请各位经验丰富的行家里手指教一二,不胜感激!!!
搜索更多相关主题的帖子: SQL语句 数据库 ACCESS 
2008-01-10 15:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-196875-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055477 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved