我的做法
if rs is nothing thenelse    if rs.state=adopen then
          rs.close
    end if    set rs=nothingend if

解决方案 »

  1.   

    Close方法释放所有关联的系统资源,关闭对像并不意味着将它从内存中删除,要将对像完全从内存中删除,可将对像变量设置为Nothing。
      

  2.   

    TO shawls(小山)(无业游民)(VB版的众矢之的)兄台
        那么无论如何:
       rc.close
       set rc = nothing
    是很保险了? To  cg_i(半点闲)兄台:  我觉的是这样吧,那么就是说很多参考书上的例子是 有内存泄露?不能实用!!
     
      

  3.   

    rs.close
    db.close
    set rs=nothing
    set db=nothing
      

  4.   

    set mrc=nothing 用于释放该对象得句柄。防止内存溢出。
      

  5.   

    To  cg_i(半点闲)兄台   说的有道理 关掉了数据集只能释放关联的系统资源
     但是还存在内存之中,为了防止内存泄漏,不许要的时候应该清除所占用的内存。
      

  6.   

    为了印刷的需要,可能会精简一些代码,或者是为了突出重点,也会把一些代码省略掉,这是可能存在的。另外,补充一点,Set rs = Nothing 也同样不能保证对象一定被释放。你应该知道,对象是可以被引用的,如果在代码中的其他地方有这么一句:set aa=rs,然后你Set rs = Nothing ,那么rs对象没有被释放,只有你也释放了aa对象Set aa = Nothing,这时,rs才能被真正释放。归纳起来,只有当对象不存在引用的时候,Set rs = Nothing 才能保证真正释放对象。我的经验是,不管是对象还是变量,将它们的作用域减到最小程度,那么,代码的安全性与可维护性可以提升很多。
      

  7.   

    那么,我想问的是
         Set rs=nothing

         rs.close
         Set rs=nothing
    具体的区别在哪 ?也就是说,我不关闭连接,直接释放对象可以吗?
      

  8.   

    to  gdtjh(gdtjh)兄台: cg_i(半点闲)兄台讲的很清楚!
    Close方法释放所有关联的系统资源,关闭对像并不意味着将它从内存中删除,要将对像完全从内存中删除,可将对像变量设置为Nothing。