ASP 操作必须使用一个可更新的查询

来源:百度知道 编辑:UC知道 时间:2024/09/24 07:11:39
<%
dim conn
set conn = server.createobject("adodb.connection")
conn.connectionstring="Provider = Microsoft.Jet.OLEDB.4.0;Data Source="&server.mapPath("db/guest.mdb")
conn.open

sub close_conn
conn.close
set conn = nothing
end sub
%>

<%

'…………

'以上省略与此无关的代码

sql="insert into G_user (G_UserName) values ('"&username&"')"
conn.execute(sql) '这是第93行
call close_conn
response.redirect"index.asp"
response.write "<script>alert('恭喜你,注册成功!');location.href='index.asp';</script>"

%>

运行后,显示

错误类型:
Microsoft JET Database Engine (0x80004005)
操作必须使用一个可更新的查询。
/guest/reg_do.asp, 第 93 行

别人电脑上可以运行起来,所以应该是我电脑的问题,我在网上搜了一下,有人说

就是对这个数据库文件, 右键--》属性--》安全--》看看有没有IIS开头的用户,如果有点中这个用户 看看下面有没有相关的修改权限。
如果没

这个错误一般只有在使用ACCESS数据库时才会出现。因为ACCESS在打开时会生成一个临时文件.ldb,这时文件夹如果没有写入权限时,则会发生错误。

解决方法如下:
①如果你的系统是Win2003,则要在你网站目录处右击“属性”->“安全”->添加->输入“Everyone”,并给其完全控制的权限才能正常使用。

②如果你的系统是WinXP,这个问题一般发生在磁盘格式为NTFS的情况下。点击“工具”->“文件夹选项”->“查看”,找到“使用简单文件共享(推荐)”这项,把前面的勾去掉。
在网站所在文件夹上单击右键,选择“属性”,这时就能找到“安全”的选项卡,添加一个用户Everyone,权限设为“完全控制”。

还有一种情况,你可以给windows目录里的temp文件夹 user组的 〔修改〕 权限

这是权限设置问题,你的电脑是什么系统?
右键--》属性--》安全--》 这是2000或者2003server才有的,XP没有