关于循环更新时的rs关闭问题!

feislow 2009-07-01 09:28:19
问题是这样的 我要实现在一个循环语句里更新数据库,但是rs数据集在哪里关闭都提示“对象关闭时不允许操作”的错误。
代码
do while not rs.EOF and i<rstCount

rand = int((rstCount+1)*rnd)

upbs rand,i,r '调用函数生成批量更新语句,插入数据库

i = i+1
rs.MoveNext
loop

rs.Close
set rs=nothing
这里我把数据集也就是r当成一个变量传进函数了,因为直接在函数里写关闭r会报错的。

upbs 是一个更新函数:
function upbs(n,m,rst)



strsql ="update flbook set bs='"&n&"'where id='"&m&"'"

rst.Open strsql,conn,1,3


end function

麻烦大家给分析一下!
...全文
62 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
smalltaro 2009-07-01
  • 打赏
  • 举报
回复
哪里开的哪里关,你在函数内打开更新了,操作完成就顺手给关了嘛

但建议是不要用这样的更新
可读性
效率
都不是很好,个人意见
fxcjy 2009-07-01
  • 打赏
  • 举报
回复
用execute吧,就是3楼说的方法
gxq323 2009-07-01
  • 打赏
  • 举报
回复
用for 循环 rs.Close
set rs=nothing
放到next前面
hijack_hijack 2009-07-01
  • 打赏
  • 举报
回复
拼接字符串 一次执行

do while not rs.eof
sqlstr = sqlstr&"update .."
loop
conn.execute sqlstr
9441 2009-07-01
  • 打赏
  • 举报
回复
用3楼的做法,或新建另一个RS,不要用原来的
ttt2 2009-07-01
  • 打赏
  • 举报
回复
更新这样写

strsql ="update flbook set bs='"&n&"'where id='"&m&"'"

cn.execute strsql
feislow 2009-07-01
  • 打赏
  • 举报
回复
问题是这样的 我要实现在一个循环语句里更新数据库,但是rs数据集在哪里关闭都。
不是rs数据集,我的意思是upbs这个函数里的rst应该怎么关闭,总是提示“对象关闭时不允许操作”的错误
黑心 2009-07-01
  • 打赏
  • 举报
回复
upbs 函数里用insert 试下。

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧