mfc ado连接mysql_MFC使用ADO连接数据库的一个错误

程序的功能是显示数据库的信息,我连接数据库后使用m_pRecordset->MoveNext();函数没有任何问题,但是想要回到上一条记录使用m_pRecordset->MovePrevious();就会报内存错误。

inline HRESULT Recordset15::MovePrevious ( ) {

HRESULT _hr = raw_MovePrevious();

if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));

return _hr;

}

使用movelast也不可以,只可以使用movenext。

这个是连接数据库的语句

m_pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C://Users//liu//Desktop//DataDisp1.mdb", "", "", adModeUnknown);

try

{

CString Sel = _T("SELECT * FROM Addresslist ");

m_pRecordset = m_pConn->Execute((_bstr_t)Sel, &RecordsAffected, adCmdText);

通过按钮转到下个记录没有任何问题

void CMFC1Dlg::OnBnClickedButton1()

{

m_pRecordset->MoveNext();

SetData();

OnPaint();

// TODO: 在此添加控件通知处理程序代码

}

通过按钮回到上条记录报错

void CMFC1Dlg::OnBnClickedButton2()

{

// TODO: 在此添加控件通知处理程序代码

m_pRecordset->MovePrevious();

SetData();

OnPaint();

}

在SetData中有个判断,如果是adoEOF就会回去,如果是adoBOF就会去下一条,里面的语句也会报错。

求大神解答什么问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值