我在c++中使用oracle公司的oo4o访问oracle816数据库。
以下是代码:
odynaset oset;
strSql="select * from (select rownum id,a.* from tab ) where id between 1 and 5000"
oset.OPen(.strSql...)
long rowcount=0;
while (!oset.IsEof())
{
  ..readdata....
  oset.movenext();
  rowcount++;
} 我知道查询结果是5000条记录。可是,我得到的
rowcount=5001.使得我大为惊讶。50001条记录的值和第5000条记录的值有些象,但是后面有乱码。
请问高手,难道oset.IsEof()在5000条记录越界后,没有及时判断出来了吗?必须越过两次才执行
正确?请高手指点。当记录较少时,没有这个问题。