当前位置: 代码迷 >> VC >> vs2005,vc access MoveNext()
  详细解决方案

vs2005,vc access MoveNext()

热度:5211   发布时间:2013-02-25 00:00:00.0
求助:vs2005,vc access MoveNext()
如题:我在vs2005下做一个关于access2003的小程序,连接数据库都没问题,记录集取得也正确。问题出在movenext()上,大概是这样的:我的table(字段为fld1,fld2,fld3)中共有五条记录,我用select * from table 取得记录,用下面方式遍历。
m_pRecordset->movefirst();  
while (!m_pRecordset->adoEOF)
{
  取得记录中fld1的值
  ......
  将结果添加到一个列表框中...
  m_pRecordset->movenext();
}
m_pRecordset->close();

现在问题来了,程序运行正常,但最后输出的结果是:列表框中只显示了两个列表项(只输出第一条记录和第三条记录的fld1字段值)...,可我的table中可有五条记录,其它三个记录哪里去了呢?
经过调试我发现,问题出在movenext上,按原理,处理完当前记录,指针会移至下一条记录,但观察while整个循环过程,它的确只走了两遍...百思不解,为什么会这样呢,为什么movenext()不跳一步,而是跳两步甚至三步呢?有谁知道原因,救下。

------解决方案--------------------------------------------------------
你看看你打开的表对不对。。。
  相关解决方案