莲音是雪花公主:ASP的错误:不能更新。数据库或对象为只读。

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 23:32:31
因为数据记录太多,想一次性对某个记录更改,所以写了一小段代码,但却总是提示错误.下面附上错误跟源代码.

错误类型:
Microsoft JET Database Engine (0x80040E09)
不能更新。数据库或对象为只读。
/mypage/change_size.asp, 第 14 行

<!-- #include file="conn.asp"-->

<%

Set rs=Server.CreateObject("ADODB.Recordset")
sql="SELECT * FROM Wireworm"
rs.open sql,conn,1,3

while not rs.eof

WormBody_Imago_Size=rs.fields("WormBody_Imago_Size")
WormBody_Imago_Other=rs.fields("WormBody_Imago_Other")
WormBody_Imago_Size=WormBody_Imago_Size&"×"&WormBody_Imago_Other
rs.fields("WormBody_Imago_Size")=WormBody_Imago_Size

rs.movenext
wend
rs.update

rs.close
conn.close

%>
再一次回第一答复者,非常感谢你的答复
但是引用下"按你的说的改后问题依旧,提示错误也是一样".

回我是管家,谢谢您的回答,按您说的我把改文件所在目录的写入点上了,但是改完问题依旧,什么都没有变.

你用得NTFS分区吧?

去文件夹设置下运行权限,修改权限需要开放给运行IIS用户

-------------------------------------------------

我不知道你权限是否给对用户了。你给文件夹添加一个EveryOne用户,然后给EveryOne用户开放这个文件夹所有权限。实在不会就把目录放到Fat32分区下面去。

这样大批量的更新数据是不对的,如果可以顺利写入一条数据就说明不是权限的问题拉。
dim dd
dd=100'这个100值,是你数据库里有多少条数据,为了涂省事你先查一下啊
dim s1(dd-1)
dim s2(dd-1)
dim ss
ss=0
while not rs.eof
s1=rs.fields("将能确定一条数据的字段给他,比如id号等")
WormBody_Imago_Size=rs.fields("WormBody_Imago_Size")
WormBody_Imago_Other=rs.fields("WormBody_Imago_Other")
s2(ss)=WormBody_Imago_Size&"×"&WormBody_Imago_Other
ss=ss+1
rs.movenext
wend
for i=0 to dd-1
mysql="update Wireworm set WormBody_Imago_Size='" & s2(i) & "' where 给s1值的字段名字='" & s1 & "'"
co.execute mysql'这句不对,就是执行这个sql
next

1.你用什么数据库呀。如果用的为Sql2000的话,可能是设置数据库的问题。设置方法如下:

    打开表,设置里面的字段。在设置字段时,在“常规”选项卡中的“必填字段”和“允许空字符串”不能全部为否。

2.如果用的Access数据库+Windows2003操作系统的话,是需要设定数据库的。

解决问题如下:

    先右键打开表的“属性”在“安全”一栏中选择Users(或者是Everyone)把“完全控制”选中。

    其次需要打开表,设置里面的字段。在设置字段时,在“常规”选项卡中的“必填字段”和“允许空字符串”不能全部为否。

用这两种方法试试!

while not rs.eof

WormBody_Imago_Size=rs.fields("WormBody_Imago_Size")
WormBody_Imago_Other=rs.fields("WormBody_Imago_Other")
WormBody_Imago_Size=WormBody_Imago_Size&"×"&WormBody_Imago_Other
rs.fields("WormBody_Imago_Size")=WormBody_Imago_Size

rs.movenext
wend
rs.update
改成

dowhile not rs.eof

WormBody_Imago_Size=rs.fields("WormBody_Imago_Size")
WormBody_Imago_Other=rs.fields("WormBody_Imago_Other")
WormBody_Imago_Size=WormBody_Imago_Size&"×"&WormBody_Imago_Other
rs.fields("WormBody_Imago_Size")=WormBody_Imago_Size

rs.movenext
rs.update
loop

这样呢