EOF 和 BOF 表示的是当前状态,即 Move 之后的状态。都是为了表示当前记录无效,而不是前一个/下一个记录无效。
在第一条记录处,调用了 MovePrevious() 之后,才是 BOF=True;
在最后一条记录处,调用了 MoveNext() 之后,才是 BOF=True。

解决方案 »

  1.   

    在最后一条记录处,调用了 MoveNext() 之后,才是 [color=#F0000]EOF[/color]=True。
      

  2.   

    在最后一条记录处,调用了 MoveNext() 之后,才是 EOF=True。
      

  3.   

    当有一条记录时,如果指针在这条记录上,EOF 和 BOF 就是 False。只有向前移出第一条记录,或向后移出了最后记录,BOF 或 EOF 才有效。
      

  4.   

    就像 debug 一样
    只有运行到你debug点的下一行,才能看到你debug的那行值一样。
      

  5.   

    你可以这样理解,在记录集中,有两个天然的位置,BOF 和 EOF。当一条记录也没有的时候,它们由于没有记录的分隔,就合在一起了。此时,记录集的指针就在它上边。当你有一条记录的时候,他们被记录分开了,分别在记录的前面和后面。一个新记录集打开时,指针缺省地处在记录上,因此 BOF 和 EOF 都是 False。只要你向前或向后移动一次,就踩上雷了,其中一个有效。多条记录时,向前移过第一条记录进入 BOF,向后移过最后一条记录进入 EOF。