如题:我在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()不跳一步,而是跳两步甚至三步呢?有谁知道原因,救下。
------解决方案--------------------------------------------------------
你看看你打开的表对不对。。。