关于Debug Assertion Failed

Iantone4 2014-10-02 02:51:16

vs212 mfc编程,应该是数据库导入和指针的问题(我猜的)
1.我先在stdafx.h中添加如下代码
#import "C:\Program Files\Common Files\System\ado\msado15.dll" rename("EOF","adoEOF")rename("BOF","adoBOF")
using namespace ADODB;
这步貌似没问题
2.需要将_ConnectionPtr m_pConnection;_RecordsetPtr m_pRecordset;这两个指针添加到对应的dlg.h的类中
因为我建立的是单文档的应用,所以我是将这两个指针放入该界面的头文件中了
3.将如下代码放入初始化函数中,
if(!AfxOleInit())
{
}
try
{
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open("Provider=SQLOLEDB;server=LEE-PC;Uid=sa;Pwd=110410322li;Database=MAF","","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}


运行时,进行到用到数据库的地方就出现如图的Debug Assertion Failed
感觉是不是2,3步代码放的文件的位置不对?
...全文
370 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
蒋晟 2014-10-07
  • 打赏
  • 举报
回复
OLE已经初始化过了会报这个错……你不应调用这个函数两次
zyq5945 2014-10-06
  • 打赏
  • 举报
回复
跟下或者看调用堆栈看是那步出的问题。
Iantone4 2014-10-04
  • 打赏
  • 举报
回复
引用 1 楼 jiangsheng 的回复:
自己点重试进去就知道了 ASSERT (!pState->m_bNeedTerm); // calling it twice?
点重试后,出现“xxx.exe已触发一个断点”,点继续后结果正常 还是不知道怎么解决 ASSERT (!pState->m_bNeedTerm); // calling it twice?这是?
蒋晟 2014-10-02
  • 打赏
  • 举报
回复
自己点重试进去就知道了 ASSERT (!pState->m_bNeedTerm); // calling it twice?

4,011

社区成员

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

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