使用ado后,内存会一直增长,每次都是4k 4k的长,有时间很频繁,有时间却又不,而我所做的操作只是每隔一秒种,执行一次查询操作。
(另外:new出来的都是delete了的,数据库连接是在程序退出时释放的)

解决方案 »

  1.   

    你确定是ADO对象造成的吗?检查其它地方有没有问题
      

  2.   

    确定是ado,把查询的操作去掉后,就没长了。工具,有什么好的内存泄漏检测工具?
      

  3.   

    CADORecordset reset(g_pConn);
    CADOCommand aComm(g_pConn, _T("getfailedorder"));
    reset.Execute(&aComm);这是代码,在一个函数中,每隔1秒调用一次这个函数在函数退出时,记录集关闭
      

  4.   

    to  太平洋 在调试情况下 程序退出后,vs没有报内存泄漏的问题CathySun118(斯年)  查询的结果是否缓存了?  这个,请多多指教下
      

  5.   

    每次查询完,得到数据后,最好都关闭这个记录集m_pRecordset.CreateInstance(__uuidof(Recordset)); m_pRecordset->Close();
    m_pRecordset.Release();
    m_pRecordset = NULL;
      

  6.   

    内存泄漏检测一般只对new和malloc起作用,像有些对象占用内存和资源表面一般是看不出来的。
      

  7.   

    我就不知道是怎么会事了,每次也不长多,就长4k............................shit
      

  8.   

    m_pRecordset->Close();
    m_pRecordset.Release();
    m_pRecordset = NULL;
      

  9.   

    再 UP查了整个网络,估计还是ADO的问题