asp批量修改相同的一组数据

setrs1=server.createobject("adodb.recordset")sql="select*fromTh_Orderwhere价格='"50元"'"... set rs1=server.createobject("adodb.recordset")
sql="select * from Th_Order where 价格='"50元"'"
rs1.open sql,conn,1,3
do while not rs1.eof
rs1("价格")="49元"
rs1.update
rs1.movenext
loop

rs1.close
set rs1=nothing '结束

请问为什么只修改等于50元的第一条数据,库里还有很多50元的,为什么不会循环修改呢,怎样才能把这个批量修改过来呢?
展开
 我来答
arvy_momo
2011-08-16 · TA获得超过2350个赞
知道大有可为答主
回答量:1552
采纳率:50%
帮助的人:998万
展开全部
do while not rs1.eof
rs1("价格")="49元"
rs1.update
rs1.movenext
loop

上面这段表面上看没什么问题,但实际上存在一个逻辑上的错误:
修改了某条数据之后,执行Update,便锁定了数据库使其不可下移游标。所以后面的movenext便不起作用了。
故而,如你这样的问题,最好也最经济的方法就是
Update Th_Order Set 价格='49元' where 价格='50元'"
happyyu0
2011-08-16 · TA获得超过1637个赞
知道小有建树答主
回答量:968
采纳率:0%
帮助的人:586万
展开全部
这个就修改一条!
使用 update 修改就是批量了
追问
那请问我以上的程序错在哪里呢?谢谢
追答
在sql里面要使用 update
set rs1=server.createobject("adodb.recordset")
sql="update Th_Order set 价格='49元' where 价格='50元'"
rs1.open sql,conn,1,3

do while not rs1.eof
rs1("价格")="49元"
rs1.update 感觉这个地方RS1已经变了!
rs1.movenext
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式