haRect=m_modRect.CreateInstance(_T("ADODB.Recordset"));这就话作用是什么呢?
haRect=m_modRect->Open(_bstr_t(sql),_variant_t((IDispatch*)(((CPictureApp*)AfxGetApp())->m_conn),true),adOpenDynamic,adLockPessimistic,adCmdText);这句话是打开一个记录集
m_modRect->close()是关掉一个记录集
那我在一个.CPP文件中是不是haRect=m_modRect.CreateInstance(_T("ADODB.Recordset"));这句话只要写一次就可以了呢,每次操作完一个记录集是否得关掉记录集呢

解决方案 »

  1.   

    haRect=m_modRect.CreateInstance(_T("ADODB.Recordset"));
    是创建一个COM对象,
    也就是创建一个ADODB.Recordset对象,,
    创建了对象才可以调用Open()等函数。。
    你是可以写一次haRect=m_modRect.CreateInstance(_T("ADODB.Recordset"));
    就可以了,
    因为COM对象只需要创建一次。。
    操作完后应该要关掉吧。。
    如果更新了数据要记得UPdate()
    建议看看关于COM方面的书
    推荐《COM技术内幕》