在VC程序中,使用ADO方式连接数据库!需要对ADO Recordset中的记录进行移动操作!
在MSDN中有说明,将ADO记录集设置为动态记录集,则可以进行任意的移动!
但是我将Recordset的CursorType设置为adOpenDynamic(动态游标),
可是在调用MovePrevious()函数,还是出现异常了!
请问各位,该如何设置Recordset的属性?
在MSDN中有说明,将ADO记录集设置为动态记录集,则可以进行任意的移动!
但是我将Recordset的CursorType设置为adOpenDynamic(动态游标),
可是在调用MovePrevious()函数,还是出现异常了!
请问各位,该如何设置Recordset的属性?
m_pRecordset->CursorType = adOpenKeyset;
还是一调用MovePrevious()函数就出现异常了!甚至调用MoveLast()函数也出现了异常!源码如下:
try{
m_pRecordset->CursorLocation=adUseClient;
m_pRecordset->CursorType = adOpenKeyset;
m_pRecordset = m_pDBConn->Execute((_bstr_t)szSQLString,NULL,0);
m_pRecordset->MoveLast();
}catch(...){
AfxMessageBox("Exception!");
}当运动到m_pRecordset->MoveLast()还是出现异常!
try{
}catch(_com_error &e)
{
MessageBox(e.Description());
}
看看是什么错误。
调用MoveLast(),显示的错误描述是"行集不支持反向提取。"
调用MovePrevious(),显示的错误描述是"在此环境中不允许操作"。请问,该怎么设置记录集的属性
Connection.Execute返回的Recordset是************* ReadOnly ********** 的。
你使用 Recordset.Open 就没问题了。
RecordSet->Open调用则解决了!