asp程序中 access数据库不能读取的问题.求助!!!!!"处女问"

小弟近来学ASP.但是有一个难题.就是老是不能从ACCESS数据读出数据来.ASP代码如下.HTML代码就省略啦.(此ASP的程序是一个管理员回复留言的页面)难题就是老是... 小弟近来学ASP.但是有一个难题.就是老是不能从ACCESS数据读出数据来.
ASP代码如下.HTML代码就省略啦.
(此ASP的程序是一个管理员回复留言的页面)
难题就是老是不能读取出来我之前的留言!!!(可以留言.把留言写进数据库)
<!--#include file="conn.asp"-->
<% dim id
id=request.form("id")
set rs=server.CreateObject("adodb.recordset")
sql="select * from [info] where id="&id
rs.open sql,conn,3,3
%>
<%=rs("title")%>
<%=rs("content")%>

<%rs.close
set rs=nothing
if request("action")=savereply then
call reply()
end if
sub reply()
dim reply
reply=trim(request.Form("reply"))
sql = "select * from [info] where id ="&id
rs.open sql,conn,3,3
rs("reply")=reply
rs.update
rs.close
set rs=nothing
response.Redirect("default.asp")
end sub
%>

测试时,IE提示的错误: Microsoft JET Database Engine 错误 '80040e14'
语法错误 (操作符丢失) 在查询表达式 'id=' 中。

(错误的是刚开始, sql="select * from [info] where id="&id
这一句)按我所学到的东西,语法都没有错误吧?? 我觉得应该是糸统设置上的问题. 是不是右击数据库文件,选择"属性" 然后再怎么样呢??
联接数据库文件:conn.asp 代码如下:

<%
dim conn
dim connstr
dim db
db="data/guestbook.mdb"
set conn =server.CreateObject("adodb.connection")
connstr="provider=microsoft.jet.oledb.4.0;data source="&server.mappath(""&db&"")
conn.open connstr
%>
(Access驱动有问题?)
这一次的问题,困惑了我好久,最后迫不得及才发上了网!!!
这是小弟第一次在百度,也是在互联网第一次发问. 也算得上是"处女问"吧? 呵呵,不知谁第一个帮我解决问题呢?
我仅有40分,能给的分都给能帮助我的人吧!!! 无论是否能帮我解决这个问题.我都提前向有心帮我解决问题的人说一声谢谢!!! 谢谢了!!!
好不容易终于又上了一回网,看了一下,各位的回答。算是明白。呵呵~~~~ 再这感谢各位了。等我抽空测试了一下。我就把分送出了。呵呵~~~ 各位要等下啦!!!
三楼的回答确实是说到点子上了,在此感谢这三位热心的朋友!!
谢谢了!!
展开
 我来答
louhui1018
2008-02-27 · TA获得超过4824个赞
知道大有可为答主
回答量:2002
采纳率:0%
帮助的人:1756万
展开全部
'楼主,在回复或编辑网页文件时,需要注意以下三点:
1.接收传递的参数
<% dim id
id=request("id")
set rs=server.CreateObject("adodb.recordset")
sql="select * from [info] where id="&id
rs.open sql,conn,3,3
%>
2.表单参数的写法
<form name=form1 method=post action="Reply.asp?action=savereply&id=<%=rs("id")%>">
'表单中的资料
</form>
3.
<%
if request("action")="savereply" then '楼主这裏要加双引号哟
call reply()
end if
sub reply()
set rs=server.createobject("ADODB.Recordset")
sql = "select * from [info] where id ="&id
rs.open sql,conn,3,3
rs("reply")=reply
rs.update
rs.close
set rs=nothing
response.Redirect("default.asp")
end sub
%>
'祝你测试成功!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
媒办法
2008-02-27 · TA获得超过606个赞
知道小有建树答主
回答量:834
采纳率:0%
帮助的人:1006万
展开全部
从你的错误提示来看,是你的查询语句出错,因为你那个id根本没有接收到值,所以查询语句就成了“select …… where id=”,等号后面没有值,所以查询不到数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jzd714
2008-02-27 · TA获得超过132个赞
知道答主
回答量:94
采纳率:0%
帮助的人:94.9万
展开全部
一楼的说得多,但是没有说道点子上...
经常做开发一下就看出来了,你的这个问题是此页面(数据输出页面)没有得到id值引起的。

你往前查看一个页面,就是调用这个查询的页面看看,有没有id值得传送,如果有ID传送,再看有没有ID值真确与否。

比如一个链接
<a href="" action="数据输出页面&id=<%=rs("id")%>"> </a>

看看你的页面上有这一部分吗?&id=<%=rs("id")%>

..........
以后遇到此类问题,建议你做个测试,比如说提示错误没有ID,你可以在本页面设ID值:
DIM ID
ID=3
然后打开数据库,读取内容,如果通过说明你上一个页面没有传送ID

这样问题就解决了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式