首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

请教为什么老是出现无效的游标异常

2013-06-19 
请问为什么老是出现无效的游标错误我使用的是CRecordset类,在循环取数据时经常会出现无效的游标错误,这个

请问为什么老是出现无效的游标错误
我使用的是CRecordset类,在循环取数据时经常会出现无效的游标错误,这个错误是在异常里捕捉到的,我经过调试发现是在MoveNext时出现的,但是我的代码是判断了IsBOF和IsEOF的。后来我看帮助文档里有这么一句话:
if you have scrolled past the end of the recordset, IsEOF will return nonzero; a subsequent call to MoveNext would throw an exception. 
就是说我超过了表的最后一条记录后,IsEOF会返回非0值,接下来再调用MoveNext就会出现异常。
这究竟是怎么造成的呢?大家帮忙看看我的伪代码:
TRY
{
if (!rs.IsBoF())
rs.MoveFirst();

while(!rs.IsEoF())
{
dosomething...
rs.MoveNext();
}
}
CATCH(CDBException* e)
{
e->ReportError();
}
[解决办法]
判断是否为空?

if( rsCustSet.IsBOF( ) )
    return;
    // The recordset is empty

// Scroll to the end of the recordset, past
// the last record, so no record is current
while ( !rsCustSet.IsEOF( ) )
    rsCustSet.MoveNext( );

热点排行