数据库请进~急

COMPUTERZZZ 2004-06-08 03:31:20
我写了一个数据库应用程序(ADO方式),退出应用程序时出现错误:

microsoft visual c++ Runtime library
----------------------------------------
Runtime error:
R6025
-pure virtual functin call
-------------------------------------------
这个错误如何解新决?看上去是纯虚函数调用

我只重载了ExitInstance(),用于在退出程序时释放连接和记录集
int CTrade_MisApp::ExitInstance()
{
if(adStateOpen==ADOConn->State) ADOCon->Close();
ADOConn.Release();
if(adStateOpen==m_pADOSet->state) m_pADOSet->Close();
m_pADOSet.Release();
return CWinApp::ExitInstance();
}
我以为是没有关闭COM环境,在ExitInstance中加入了::CoUnInitialize()错误没有了,但又出现弹出 程序出现非法操作,请于提供商联系的对话框。 ?
InitIstance()的代码如下:
if(FAILED(::CoInitialize(NULL))
{
AfxMessageBox("ADO init failed");
return false;
}
try
{
ADOConn.CreateInstance(__uuidof(Connection));
ADOConn->Open("DSN=TRADE","","",adConnectUnspecified);
}
catch(_com_error &e)
{
CString err;
err.Format("%s",(char*)(e.Description()));
AfxMessageBox(err);
}
catch(...)
{
AfxMessageBox("Unknown Error...");
}
m_pADOSet.CreateInstance(__uuidof(Recordset)):
...全文
72 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
COMPUTERZZZ 2004-06-17
  • 打赏
  • 举报
回复
thanks you,错误排除了,但不明白为什么要把两个指针赋予NULL值,为什么不能用Release()这个函数?
rockally 2004-06-16
  • 打赏
  • 举报
回复
帮你顶一下
DebugXP 2004-06-08
  • 打赏
  • 举报
回复
if(m_pConnection->State)
m_pConnection->Close();
m_pConnection= NULL;
jiey 2004-06-08
  • 打赏
  • 举报
回复
我得程序中没有::CoUnInitialize()也照样ok。只不过对资源得释放用得是在close()后加上了ADOConn=NULL;m_pADOSet=NULL;

4,017

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧