敲学生信息管理系统的时候经常会看到代码中有BOF和EOF,它们两个到底有什么意思,下面进行一下简单的区分:
BOF(Before of File) 指示当前记录位置位于 Recordset 对象的第一个记录之前。
EOF(Endof File) 指示当前记录位置位于 Recordset 对象的最后一个记录之后。
形象化理解:使用ADO连接数据库进行查询的时候,数据库将查询结果返回查询端,在查询端的内存里面就会有一个列表,这个列表存放的就是查询的结果。这个内存中的列表就是数据集。rs就是表示这个数据集。BOF表示rs当前的指针是指在了数据集的前面,比如数据集里面有编号为1,2,3,4的4条记录,如果rs指向的编号是-1,这样就会符合了BOF的情况。当rs的指针指向5,而第五条记录并不存在,这样就会符合了EOF的情况。
这两个的属性值均返回布尔型:True和False,当为Ture时,表示无记录,当返回值为False时,表示有记录,相信通过前面例子的说明就挺好理解的了。
相关一些代码的理解:
1.If mrc.BOF Then——当前指针在第一条记录之前
2.If Not mrc.BOF Then——指针未到达第一条记录
3.If mrc.EOF Then——当前指针在最后一条记录之后
4.If Not mrc.EOF Then——指针未到达最后一条记录
5.If mrc.BOF AND mrc.EOF Then:没有任何记录
6.If Not (mrc.BOF and mrc.EOF) Then:指针位于记录集中,一定有记录
理解了这些对于系统中的相关错误就好容易改一些了。