主题:写ACCESS数据库时出错??
rdfpl
[专家分:20] 发布于 2007-01-12 18:54:00
我的ASP初学者,
我写了一个留言本,可以从数据库中读出数据,但写入数据时报错,
IE提示数据库或对象为只读,
<%
set ds=server.createobject("adodb.recordset")
ds.open "select * from centext",conn,3,3
dim inserttext
inserttext="insert into centext (username,datew,centext) values ('rdf','2007-1-12','sdfds') "
ds.addnew
ds("username")="rdf"
ds.update
response.write "yes"
%>
如果用
conn.execute(inserttext)
执行时又报错
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
希望能得到各位大侠的帮助...感谢
回复列表 (共5个回复)
沙发
peizhouluo [专家分:770] 发布于 2007-01-12 19:04:00
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("admin.mdb")
name=request.form("name")
password=trim(request("password"))
question=request.form("question")
answer=trim(request("answer"))
email=request.form("email")
sfid=request.form("sfid")
telephone=request.form("telephone")
qq=request.form("qq")
address=request.form("address")
youbian=request.form("youbian")
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from user where name='"&request.form("name")&"' or email='"&request.form("email")&"'",conn,1,1
if not rs.bof and not rs.eof then
response.Write "<script LANGUAGE='javascript'>alert('用户名或者邮件与其他会员相同!请重新输入!');history.go(-1);</script>"
rs.close
set rs = nothing
response.end
else
rs.close
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from user",conn,1,3
rs.addnew
rs("name")=trim(request.form("name"))
rs("password")=trim(request.form("password"))
rs("email")=trim(request.form("email"))
rs("question")=trim(request.form("question"))
rs("answer")=trim(request.form("answer"))
rs("sfid")=trim(request.form("sfid"))
rs("telephone")=trim(request.form("telephone"))
rs("qq")=trim(request.form("qq"))
rs("realname")=trim(request.form("realname"))
rs("address")=trim(request.form("address"))
rs("adddate")=now()
rs("youbian")=trim(request.form("youbian"))
rs.update
session("name")=trim(request.form("name"))
response.Write "<script LANGUAGE='javascript'>alert('恭喜恭喜!您已经成为我们的会员了!');window.location.href='index.asp';</script>"
response.End
rs.close
set rs=nothing
end if
%>
也许对你有用!
板凳
yaozheng [专家分:28410] 发布于 2007-01-12 20:11:00
看看你的数据库文件的读写权限设置,给everyone用户写权限即可。
3 楼
rdfpl [专家分:20] 发布于 2007-01-13 18:12:00
错误信息:"操作必须使用一个可更新的查询。"
是由什么原因引起的,??SQL语句是UPDATA INSERT应该算得上可更新的查询了吧!!!!
4 楼
liulei001 [专家分:12820] 发布于 2007-01-15 09:19:00
2楼已经说了,和SQL语句无关。
检查access数据库文件的属性。
5 楼
lmzxh327 [专家分:30] 发布于 2007-01-21 16:10:00
把你那个别改成3,3改1(键盘指针),3应该可以哦!试试
我来回复