关键代码如下:某文件中定义一个操作对象:
CAccessDB m_DBOperation;并在某处调用:
m_DBOperation.Init(sFilename, sPassword);
m_DBOperation.UnInit();
void CAccessDB::Init(CString sFileName, CString sPassword)
{
......
......
CString strConnect("");
CString strRead("");
strConnect.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Jet OLEDB:Database Password=%s", sFileName, sPassward);
strRead.Format("Delete from DAY_NOTE where ID=1 or ID=2");
bstr_t bstrConnet = strConnect.AllocSysString();
bstr_t bstrRead = strRead.AllocSysString();
try
{
m_csOperation.Lock();
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open(bstrConnet, "", "", -1);
m_pRecordSet.CreateInstance(__uuidof(Recordset));
m_pRecordSet->Open(bstrRead, m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);
m_csOperation.Unlock();
}
catch(_com_error e)
{
m_csOperation.Unlock();
TRACE("ADO ERROR Initialize : %s\n", e.ErrorMessage());
}
}void CAccessDB::UnInit()
{
try
{
m_csOperation.Lock();
m_pRecordSet->Close();
m_pConnection->Close();
m_csOperation.Unlock();
}
catch(_com_error e)
{
m_csOperation.Unlock();
TRACE("ADO ERROR Uninitialize : %s\n", e.ErrorMessage());
}
....
....
}但是在m_pRecordSet->Close();时报Unknown error 0x800A0E78
网上查是m_pRecordSet记录集指针指的地方不正确我想删除指定的ID对应的记录,大家有解决方法吗?请告知,谢谢啦
CAccessDB m_DBOperation;并在某处调用:
m_DBOperation.Init(sFilename, sPassword);
m_DBOperation.UnInit();
void CAccessDB::Init(CString sFileName, CString sPassword)
{
......
......
CString strConnect("");
CString strRead("");
strConnect.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Jet OLEDB:Database Password=%s", sFileName, sPassward);
strRead.Format("Delete from DAY_NOTE where ID=1 or ID=2");
bstr_t bstrConnet = strConnect.AllocSysString();
bstr_t bstrRead = strRead.AllocSysString();
try
{
m_csOperation.Lock();
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open(bstrConnet, "", "", -1);
m_pRecordSet.CreateInstance(__uuidof(Recordset));
m_pRecordSet->Open(bstrRead, m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);
m_csOperation.Unlock();
}
catch(_com_error e)
{
m_csOperation.Unlock();
TRACE("ADO ERROR Initialize : %s\n", e.ErrorMessage());
}
}void CAccessDB::UnInit()
{
try
{
m_csOperation.Lock();
m_pRecordSet->Close();
m_pConnection->Close();
m_csOperation.Unlock();
}
catch(_com_error e)
{
m_csOperation.Unlock();
TRACE("ADO ERROR Uninitialize : %s\n", e.ErrorMessage());
}
....
....
}但是在m_pRecordSet->Close();时报Unknown error 0x800A0E78
网上查是m_pRecordSet记录集指针指的地方不正确我想删除指定的ID对应的记录,大家有解决方法吗?请告知,谢谢啦
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货