HRESULT hr=pApp->m_pRecordset->Open(sql.AllocSysString(),pApp->m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
if(!SUCCEEDED(hr))
{
AfxMessageBox("´出错");
return false;
} if(pApp->m_pRecordset!=NULL)
{
pApp->m_pRecordset->Close();
}说明:pApp->m_pRecordset,pApp->m_pConnection都是在程序加载时初始化的,我定时2秒钟去打开和关闭一个记录集;程序执行了100次的时候,内存大概增加了80K,由于系统是要24小时在线的,请问各位出现这种情况的原因是什么啊???????
项目调到这里卡住了,测试了一天,还是没有啥进展啊??? 由于记录集是在程序启动时::CoInitialize(NULL);
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");//´´½¨Connection¶ÔÏó
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=m_data.mdb",
"","",adModeUnknown);
}
}
catch(_com_error e)/
{
CString errormessage;
AfxMessageBox(errormessage
return FALSE;
}
m_pRecordset.CreateInstance(__uuidof(Recordset));创建的,应该不会有内存增加才对啊????请大家帮忙,在线等!!!!!!!
if(!SUCCEEDED(hr))
{
AfxMessageBox("´出错");
return false;
} if(pApp->m_pRecordset!=NULL)
{
pApp->m_pRecordset->Close();
}说明:pApp->m_pRecordset,pApp->m_pConnection都是在程序加载时初始化的,我定时2秒钟去打开和关闭一个记录集;程序执行了100次的时候,内存大概增加了80K,由于系统是要24小时在线的,请问各位出现这种情况的原因是什么啊???????
项目调到这里卡住了,测试了一天,还是没有啥进展啊??? 由于记录集是在程序启动时::CoInitialize(NULL);
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");//´´½¨Connection¶ÔÏó
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=m_data.mdb",
"","",adModeUnknown);
}
}
catch(_com_error e)/
{
CString errormessage;
AfxMessageBox(errormessage
return FALSE;
}
m_pRecordset.CreateInstance(__uuidof(Recordset));创建的,应该不会有内存增加才对啊????请大家帮忙,在线等!!!!!!!
用完close一下,再打开使用...
你是否调用过pApp->m_pRecordset->Release();一我是程序启动的时候定义的 m_pRecordset,m_pconnect 是不是我只要在程序退出的时候pApp->m_pRecordset->Release();啊,而在定时处理中只需要close 是不是啊????????
只是,把recordsetptr,作为类的成员,一开始就初始化,并反复重用,不太合适。一般都是随用随CreateInstance
access删除并非真的删除
还要压缩数据库才行
手动的话是在access工具菜单中选择
用代码的话好像是IJet什么的,手边没代码,你可以在网上搜搜看
通过ADO的方式写ACCESS,没存不断的增加,增加到一定的程度就基本不怎么变化了;
不知道这是不是一个问题,楼主如果有解决方法的话,可否告知一下,谢谢:)