vc6.0 采用ADO访问Oracle数据库,内存不断在增加

求助:vc6.0 采用ADO访问Oracle数据库,内存不断在增加?
本人初来乍到,没有积分送,友情赞助,帮解答下。等有积分后,补上。不胜感激。谢谢!。
求助:vc6.0 采用ADO访问,Oracle数据库,每次在用ADO方式向Oracle数据库插入新的数据时,内存就不断在增加?为什么?请指教。下面是程序:

BOOL COracleDBDlg::OnInitDialog()
{
// TODO: Add extra initialization here
SetTimer(1,1000,NULL);

return TRUE; // return TRUE unless you set the focus to a control
}
//连接数据库
void COracleDBDlg::ConnectDB()
{

try
{
m_pConnection.CreateInstance(_uuidof(Connection));
m_pConnection->Open("Provider=MSDAORA.1;Data Source=mike;user=system;password=manager;", "" ,"" ,adModeUnknown);

}
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());
}

}

//断开数据库连接
void COracleDBDlg::ExitDB()
{
m_pRecordset->Close();
m_pRecordset.Release();
m_pConnection->Close();
m_pConnection.Release();
}

//插入数据到数据库中
BOOL COracleDBDlg::InsertDB(CString aa, CString bb, CString cc)
{
//插入数据到数据库
try
{
CString sql0;
sql0.Format("insert into JIUZHOU.water(JHSJ , BDWZ , FIRE) values('%s','%s','%s')",aa, bb, cc);
m_pConnection->Execute((_bstr_t)sql0, NULL , adCmdText);
return true;
}
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());
return false;
}
}

void COracleDBDlg::OnTimer(UINT nIDEvent) 
{
// TODO: Add your message handler code here and/or call default
switch(nIDEvent)
{
case 1:
ConnectDB(); //连接数据库

m_strJhsj = "2010-10-3";
m_strBdwz = "北京";
m_strFire = "hospital";
//插入数据到数据库
InsertDB(m_strJhsj, m_strBdwz, m_strFire);

ExitDB(); //断开数据库连接
break;
default:break;
}

CDialog::OnTimer(nIDEvent);
}



------解决方案--------------------
最好不要每次timer都连接再插入。连接数据库在start timer的时候做一次就行了,断开连接写在程序的析构函数当中或是抛出异常处理的代码中。timer里面只执行插入操作