关于ado 的有关问题,提示"对象打开时,不允许操作"

关于ado 的问题,提示"对象打开时,不允许操作"
有时使用rs.close提示正常
有时使用rs.close提示如上

那么有时为什么用了insert   或   update后用rs.c   lose就不正确   呢

不用rs.close的话,下次用的时候就提示如上提示

如何解决这个问题呢

我是这样写的
rs.Open   strmaxid,   conn,   adOpenStatic,   adLockOptimistic

------解决方案--------------------
if rs.state=adstateopen then rs.close
rs.Open strmaxid, conn, adOpenStatic, adLockOptimistic

------解决方案--------------------
你可以在每次OPEN之前使用close

程序结束时再最后再使用CLOSE
------解决方案--------------------
不要用close 方法
用set rs=nothing
进行对象的销毁
------解决方案--------------------
这个问题也曾经困饶过我,如sxwz所说,在open前close,这样没有对对象操作,也就没有错误提示了。
------解决方案--------------------
在ado中间close实际也比较消耗资源,所以在open前使用close是比较合适的一种方式,因为ado的状态有多种,个人建议是

Dim rs As New ADODB.Recordset
If rs.State <> adStateClosed Then rs.Close
使用adstateclosed状态判断更好点
if rs.state=adstateopen then rs.close这个一般用在asp中间
------解决方案--------------------
OPEN之前
rs.CursorLocation=adUseClient

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070212

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html