不能更新。数据库或对象为只读。

MicrosoftJETDatabaseEngine(0x80040E09)不能更新。数据库或对象为只读。/show.asp,第16行<%dimmvarbClick,mv... Microsoft JET Database Engine (0x80040E09)
不能更新。数据库或对象为只读。
/show.asp, 第 16 行
<%
dim mvarbClick,mvarbId,mvarbTitle,mvarbWriter,mvarbCopyRight,mvarbContent,mvarbAddTime
set rs=server.CreateObject("adodb.recordset")
msql="select * from Ay_Content where bId=" & request("id")
rs.open msql,conn,1,3
if not rs.eof then
mvarbId=trim(rs("bId") & "")
mvarbTitle=Juncode(trim(rs("bTitle")&""))
mvarbAddTime=FormatDate(trim(rs("bAddTime")&""),"2")
mvarbWriter=trim(rs("bWriter")&"")
mvarbCopyRight=trim(rs("bCopyRight")&"")
mvarbContent=Juncode(trim(rs("bContent")&""))
mvarbClick=trim(rs("bClick")&"")
mvarbClassID=trim(rs("bClassID") & "")
第16行 rs("bClick")=rs("bClick")+1
rs.update
end if
if rs.state<>0 then rs.close
set rs=nothing
%>
展开
 我来答
FFkingdee
推荐于2017-11-23 · TA获得超过163个赞
知道答主
回答量:89
采纳率:0%
帮助的人:54.1万
展开全部
可能是你的Access所在的盘为ntfs格式

而这个格式中要求相应的帐户具有修改的权限 这样access才能够进行更新

方法:

如果配置站点的时候,分区是NTFS格式的情况下,会遇到80004005的数据库或对象为只读错误,如:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。
造成这个原因的问题就是站点目录的访问权限问题,因为在使用Access数据库的时候,要在同目录生成一个.ldb文件,如果此目录没有写权限或者Access数据库本身没有写的权限,那么就会报这个错误。由于通过浏览器访问网站大都使用Internet匿名访问,我们只需要在数据库的目录权限里添加上“IUSR_计算机名”用户就可以了,分给它“写入”权限。我发现一些文章说让加入EveryOne用户,并给“写入”权限,这个太危险了。原则上是此目录加的可以写入用户就是在IIS中配置的时候加的Internet匿名访问用户,一般默认为“IUSR_计算机名”,不过如果是虚拟主机就要自己看看了。

操作方式就是:

鼠标右键点击数据库所在目录(或者它上级目录,但是注意要能够继承权限)-〉选择“共享和安全”-〉选择“安全”选项卡-〉点击“添加”按钮-〉点击“高级...”按钮-〉点击“立即查找(N)”按钮-〉找到前缀为“IUSR_”的用户名(格式为IUSR_计算机名)-〉选中此用户,点击确定-〉这样这个用户就被加进来了-〉在“Internet来宾帐户”的权限框中,除了默认的还要选中“写入权限”-〉“应用”或者“确定”即可。

提示:如果是WinXP系统下找不到“共享和安全”选项,需要先进行一下设置:“工具”-〉“文件夹选项”-〉“查看”-〉“默认使用简单共享(推荐)”,把这个选项去掉,再在文件夹上右键点击,就会出现安全这个选项。

上面是我贴我过来的,希望能帮助你。

msql="select * from Ay_Content where bId=" & request("id")

mvarbClick=trim(rs("bClick")&"")

rs("bClick")=rs("bClick")+1

if rs.state<>0 then rs.close
set rs=nothing// 你可以把这一句去掉下看看。再不行应该是数据库的问题了,你的代码没什么问题。
上面的几句检查下。
cherish0922
2010-08-27 · 超过27用户采纳过TA的回答
知道答主
回答量:169
采纳率:0%
帮助的人:103万
展开全部
msql="select * from Ay_Content where bId=" & request("id")中的id怎么没有定义,也没有传送过来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cwllong71
2010-08-27 · TA获得超过240个赞
知道答主
回答量:101
采纳率:0%
帮助的人:119万
展开全部
语句应该没什么问题,1楼NTFS格式改变安全属性的应该是正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式