简单问题,就几句代码大家帮我看一下

天魔雷帝 2011-10-19 08:36:17
用ADO向ACCESS数据库插入数据,出现中断,错误是“在某内存处有未处理的异常:Mircosoft C++异常:内存位置0x001cee14处的_com_error”一下是代码:
try{
db.AccessData();//打开数据库
CString strSql=_T("select * from login where serverIP="+ip);
db.m_pRecordset=db.m_pConnection->Execute((_bstr_t)strSql,NULL,adCmdText);//确认记录是否存在
if(db.m_pRecordset->adoBOF) //如果记录不存在则插入记录
{
db.m_pRecordset->AddNew();//这一句出现中断
db.m_pRecordset->PutCollect("serverIP",_variant_t(ip));
db.m_pRecordset->PutCollect("dataName", _variant_t(dataName));
db.m_pRecordset->PutCollect("loginName", _variant_t(loginName));
db.m_pRecordset->Update();

}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage())
}
然后我跟踪调试,就是db.m_pRecordset->AddNew();这一句报错,各位大侠帮帮忙,内牛满面啊!
...全文
104 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ronald_Z 2011-10-20
  • 打赏
  • 举报
回复
改为以下试看:

db.m_pRecordset->Open((_bstr_t)strSql,db.m_pConnection->GetInterfacePtr(),adOpenDynamic, adLockOptimistic, adCmdText);
Ronald_Z 2011-10-20
  • 打赏
  • 举报
回复
改为以下试看:

db.m_pRecordset->Open((_bstr_t)strSql,db.m_pConnection->GetInterfacePtr(),adOpenDynamic, adLockOptimistic, adCmdText);

Ronald_Z 2011-10-20
  • 打赏
  • 举报
回复
改为以下试试看:
db.m_pRecordset->Open(_ (_bstr_t)strSql, db.m_pConnection->GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);


zyq5945 2011-10-20
  • 打赏
  • 举报
回复
db.m_pConnection->Execute开打的记录集是只读的,用_RecordsetPtr::Open打开。
zyq5945 2011-10-20
  • 打赏
  • 举报
回复
db.m_pConnection->Execute开打的记录集是只读的,用_RecordsetPtr::Open打开。
  • 打赏
  • 举报
回复
db.m_pRecordset 指针有效吗

4,017

社区成员

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

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