ado连接access,执行复合查询语句后内存增加3M,不释放..........
 csql="select vTraineeState,count(*) as counts from trainee group by vTraineeState";
   pRst=pConn->Execute(csql,NULL,ADODB::adCmdText);........if(pRst->State)
   {
   pRst->Close();
   //pRst->Release();
       pRst.Release();
   pRst=NULL;
   }
   if(pConn->State)
   {
   pConn->Close();
   //pConn->Release();
       pConn.Release();
   pConn=NULL;
   }

解决方案 »

  1.   

    if(pRst->State)
      {
    pRst->Close();
    //pRst->Release();
      pRst.Release();
    pRst=NULL;
      }
    ------------
    修改一下看看:if(pRst->State && pRst!=NULL)
    {
      pRst->Close();
      pRst->Release();
    }
      

  2.   

    if(pRst!=NULL&& pRst->State == adStateOpen)
    {
      pRst->Close();
      pRst->Release();
    }
      

  3.   

    楼主你的释放没得问题,可能com本来就会开销这么多内存哟
      

  4.   

    加异常捕获看是什么错误
    try
    {
    //你的ADO代码
    }
    catch (_com_error& e)
    {
    AfxMessageBox(e.Description());
    }