主题:求助,往Access里添加记录的问题
chakela
[专家分:0] 发布于 2007-02-03 15:18:00
我不知道哪里出错,请大家指点一下。代码如下:
<%@ language=VBScript %>
<%
set conn=server.CreateObject("adodb.connection")
connstr="dbq="&server.MapPath("jieguo.mdb")&";driver={microsoft access driver (*.mdb)};"
conn.open connstr
set rec=server.CreateObject("adodb.recordset")
sqlstr="select * from answer"
rec.open sqlstr,conn,2,3
rec.addnew
rec("answer1")=request.form("answer1")
rec("answer2")=request.form("answer2")
rec("answer3")=request.form("answer3")
rec("answer4")=request.form("answer4")
rec("answer5")=request.form("answer5")
rec.update
rec.close
conn.close
set rec=nothing
set conn=nothing
%>
回复列表 (共11个回复)
沙发
chakela [专家分:0] 发布于 2007-02-03 15:21:00
执行结果总是说:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。
/myweb/diaocha/timu/submit.asp, 第 21 行
我的平台是XP专业版2002,IIS为5.1版本。
板凳
wangsdong [专家分:21390] 发布于 2007-02-03 15:32:00
检查一下数据库的属性是不是只读
3 楼
chakela [专家分:0] 发布于 2007-02-03 15:44:00
检查过了,不是“只读”状态。
4 楼
wangsdong [专家分:21390] 发布于 2007-02-03 15:48:00
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("jieguo.mdb")
改成这样试试
5 楼
chakela [专家分:0] 发布于 2007-02-03 15:58:00
不行啊,本来出错是在rec.update.
照你这样改过来,出错就出在rec.addnew这项上了。
还是说数据库是只读,不能用啊。
6 楼
wangsdong [专家分:21390] 发布于 2007-02-03 16:07:00
sqlstr="select * from answer"
rec.open sqlstr,conn,2,3
rec.addnew
rec("answer1")=request.form("answer1")
rec("answer2")=request.form("answer2")
rec("answer3")=request.form("answer3")
rec("answer4")=request.form("answer4")
rec("answer5")=request.form("answer5")
rec.update
以上换成
sqlstr="insert into answer(answer1,answer2,answer3,answer4,answer5) values('"&request.form("answer1")&"','"&request.form("answer2")&"','"&request.form("answer3")&"','"&request.form("answer4")&"','"&request.form("answer5")&"')"
rec.pen sqlstr,conn,1,3
试试
7 楼
chakela [专家分:0] 发布于 2007-02-03 16:14:00
郁闷,出错。提示:操作必须使用一个可更新的查询。
出错在:rec.open sqlstr,conn,1,3
8 楼
wangsdong [专家分:21390] 发布于 2007-02-03 16:25:00
<%@ language=VBScript %>
去掉这句试试
9 楼
chakela [专家分:0] 发布于 2007-02-03 16:49:00
还是不行,还是说不能更新,数据库为只读。。
10 楼
nckggood [专家分:1020] 发布于 2007-02-04 10:55:00
rec.open sqlstr,conn,2,3 改为rec.open sqlstr,conn,1,3 试试
我来回复