Dim RS As ADODB.RecordsetRs.Close 和 Set Rs=Nothing 是否是一样的?

解决方案 »

  1.   

    不一样。Rs.Close是关闭Recordset,Set Rs=Nothing是释放对象
    Rs.Close之后还可以Rs.open
    但Set Rs=Nothing之后就不可以Rs.open
      

  2.   

    Rs.Close 关闭recordset 但是对象仍然存在的 他对应的是 rs.open
    Set Rs=Nothing  释放空间,清除该对象, 对应的是 set rs=
      

  3.   

    以前见过个比喻,rs.close只是把水龙头关了,还可以再开,set rs=nothing则是把水管给拆了
      

  4.   

    .close会直接作用到数据库上,=nothing只作用到VB上,其它就未必了
      

  5.   

    //Set Rs=Nothing  释放空间,清除该对象
    Set Rs=Nothing不会直接清除该对象的,只是把这个变量的引用变为空而已,是否还有其他变量引用该对象不得而知,COM对象是引用计数为0时自己释放的,调用者无权释放其内存
      

  6.   

    CLOSE是关闭数据集,
    NOTHING是释放占用内存.