pHandlerRecordset->Close();
pHandlerRecordset.Release();

解决方案 »

  1.   

    close是关闭连接。release实施放资源。
      

  2.   

    从_RecordsetPtr的用法中可以看出来。
    _RecordsetPtr m_pADOSet;
    m_pADOSet.CreateInstance(__uuidof(Recordset));//实例化
    申请了资源,最后对应的
    语句就是:m_pADOSet.Release();说的透彻一点就是释放组件的接口。
    再就是利用m_pADOSet打开记录集
    m_pADOSet.Open(.....);
    打开记录集之前必须先关闭记录集,即应这样做
    if(m_pADOSet->State==adStateOpen)
    m_pADOSet.Close();//只是关闭同记录的连接,但是对象仍然在内存里面。
    m_pADOSet.Open(....);每次利用_RecordsetPtr对象打开记录集
      

  3.   

    是在m_pADOSet.CreateInstance后马上就能m_pADOSet.Release()吗?在m_pADOSet.Release();后还能执行m_pADOSet.Open(.....);操作吗?
      

  4.   

    在m_pADOSet.Release();后还能执行m_pADOSet.Open(.....);操作吗?
    当然不能
      

  5.   

    你这样想一下,你一个类 Release之后还能调用它的成员函数吗?
      

  6.   

    release是com实现里面要求的函数,是不应该被调用的。