ASP的错误:不能更新。数据库或对象为只读。

因为数据记录太多,想一次性对某个记录更改,所以写了一小段代码,但却总是提示错误.下面附上错误跟源代码.错误类型:MicrosoftJETDatabaseEngine(0x... 因为数据记录太多,想一次性对某个记录更改,所以写了一小段代码,但却总是提示错误.下面附上错误跟源代码.

错误类型:
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

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

回我是管家,谢谢您的回答,按您说的我把改文件所在目录的写入点上了,但是改完问题依旧,什么都没有变.
展开
 我来答
MrClock
2006-07-29 · TA获得超过336个赞
知道小有建树答主
回答量:530
采纳率:0%
帮助的人:498万
展开全部
你用得NTFS分区吧?

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

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

我不知道你权限是否给对用户了。你给文件夹添加一个EveryOne用户,然后给EveryOne用户开放这个文件夹所有权限。实在不会就把目录放到Fat32分区下面去。
nethuo
2006-07-28 · TA获得超过193个赞
知道小有建树答主
回答量:300
采纳率:0%
帮助的人:330万
展开全部
这样大批量的更新数据是不对的,如果可以顺利写入一条数据就说明不是权限的问题拉。
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无心星矢
2006-07-29 · TA获得超过309个赞
知道答主
回答量:167
采纳率:0%
帮助的人:55.6万
展开全部
1.你用什么数据库呀。如果用的为Sql2000的话,可能是设置数据库的问题。设置方法如下:

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

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

解决问题如下:

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

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

用这两种方法试试!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2006-07-28
展开全部
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

这样呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式