使用ado导致内存泄漏问题 m_pRecordset.CreateInstance(__uuidof(Recordset)); 这一句是不是循环调用多次 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 理一下程序执行过程,问题就清楚了特别是看看程序是否真正能执行到ExitConnect()函数 循环代码如下,只是最简单的查询,然后关闭,内存都一样往上涨void test(){ADOConn con;con.OnInitADOConn();_bstr_t str("select * from table1");con.GetRecordSet(str);con.ExitConnect();}void main(){for(int i=0;i<100;i++){test();}}另外,把ExitConnect函数改为void CADOConn::ExitConnect(){ if (m_pRecordset != NULL) { m_pRecordset->Close(); m_pRecordset.Release() ; }if (m_pConnection!= NULL){ if(m_pConnection->State) { m_pConnection->Close(); m_pConnection.Release(); }} ::CoUninitialize();}都还是一样,非常的郁闷 忘了加上Sleep,不加Sleep的话,内存涨得不多,但是加了Sleep再循环的话,内存就涨得很快,100次循环完就变为20多m了void main(){for(int i=0;i<100;i++){test();Sleep(30000);}} 用MFC对话框写一个压缩和解压缩的界面,急,急?? 求助MFC调用matlab 屏蔽VC Enter和ESC退出的问题! 急:如何通过VC+ADO操作时间值(COleDateTime) 请教一个oracle数据库的简单搜索问题 安装vs.net后,原来vs6的sourcesafe找不见了! hbzxlin你好,组件收到,请进来取分! 怎么在线程中使用excel?线程中使用sendmessage ?线程的参数传递? VC获取NTP时间同步状态 vc++6.0程序报错。 ado连接access数据库如何用代码在其中的一张表中加入一个字段。 这么简单的程序,为什么始终无法创建窗体?(急!)
特别是看看程序是否真正能执行到ExitConnect()函数
void test()
{
ADOConn con;
con.OnInitADOConn();
_bstr_t str("select * from table1");
con.GetRecordSet(str);
con.ExitConnect();
}
void main()
{
for(int i=0;i<100;i++)
{
test();
}
}
另外,把ExitConnect函数改为
void CADOConn::ExitConnect()
{
if (m_pRecordset != NULL)
{
m_pRecordset->Close();
m_pRecordset.Release() ;
}
if (m_pConnection!= NULL)
{
if(m_pConnection->State)
{
m_pConnection->Close();
m_pConnection.Release();
}
}
::CoUninitialize();
}
都还是一样,非常的郁闷
void main()
{
for(int i=0;i<100;i++)
{
test();
Sleep(30000);
}
}