BOF与EOF大揭秘

    最近在进行学生信息管理系统项目的学习,其中BOF与EOF出镜率很高,于是决定写一篇博客来帮助更多人!
 

                                             BOF与EOF大揭秘_第1张图片

     如上图,BOF(before of file)为记录集对象的指针指向第一条记录之前(不是第一条记录),而EOF(end of file)为记录集对象的指针指向最后一条记录之后(也不是最后一条记录)。在程序中我们需要选择数据库中的数据,当前数据库中的数据是有限的,那么我们不停的点击前一记录或后一记录,就会到数据库的表头或表尾,这时继续点击,就会报错!而BOF与EOF就是解决这一问题的!

    例如,我们在选择数据库中的记录的时候,会通过游标来显示选择的信息,这时假设数据库表中有3个数据,那么当前游标位于第2个数据,这时,点击前一记录,游标则会指向第1个数据(此时,BOF=False,EOF=False),再次点击前一记录,由于游标之前已经指向第1个数据了,所以此时是空数据项,系统就会报错。那么,为了避免出现这样的错误,我们加上一行代码即可:

'记录为第一条记录之前时,让游标指向表中最后一条记录,反复循环。

If mrc.BOF = True and mrc.EOF = False Then

            mrc.movelast 

End If

    依然假设表中有3个数据,当前游标位于第2个数据,这时,点击后一记录,游标指向第3个数据,即最后一个数据(此时,BOF=False,EOF=False),再次点击后一记录,此时,游标指向的是空数据项,所以系统报错!这时,加上这样一行代码:

 

'记录为最后一条记录之后时,让游标指向表中第一条记录,反复循环。

If mrc.BOF = False and mrc.EOF =  True Then

            mrc.movefirst 

End If

 

 

    由于顺序显示是单向的,所以当游标移动到数据库表头之前时,只需判定mrc.BOF;而当游标移动到数据库表尾之后时,判定mrc.EOF即可,使游标循环移动!

 

 

 

你可能感兴趣的:(★vb与数据库)