学生信息管理系统EOF 和 BOF

Posted liguangsunls

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学生信息管理系统EOF 和 BOF相关的知识,希望对你有一定的参考价值。

敲完学生信息管理系统时,在删除信息的时候,常常会出现下图这种错误,遇到问题就要解决这个问题。经过查阅理解了记录集Recordset的EOF和BOF属性,用这两个属性能够知道记录集中是否有信息存在。

技术分享

EOF和BOF属性

  • BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前。
  • EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后。

返回值:BOF 和 EOF 属性返回布尔型值。


使用 BOF 和 EOF 属性可确定Recordset 对象是否包括记录,或者从一个记录移动到还有一个记录时是否超

出 Recordset 对象的限制。

  • 假设当前记录位于第一个记录之前,BOF 属性将返回 True ,假设当前记录为第一个记录或位于其后则将返回 False 。
  • 假设当前记录位于 Recordset 对象的最后一个记录之后 EOF 属性将返回 True,而当前记录为 Recordset 对象的最后一个记录或位于其前,则将返回 False。
  • 假设 BOF 或 EOF 属性为 True,则没有当前记录。

假设打开没有记录的 Recordset 对象。BOF 和 EOF 属性将设置为 True,而 Recordset 对象的RecordCount 属性设

置为零。

打开至少包括一条记录的 Recordset 对象时,第一条记录为当前记录。而 BOF 和 EOF 属性为 False。


假设删除 Recordset 对象中保留的最后记录,BOF 和 EOF 属性将保持 False,直到又一次安排当前记录。


 下面表格说明不同 BOF 和 EOF 属性组合所同意的 Move 方法。

 产生上图的错误,就是由于在运行代码的时候。以下这张图中的错误避免导致的。

 

MoveFirst,

MoveLast

MovePrevious,

Move < 0

Move 0

MoveNext,

Move > 0

BOF=True,

EOF=False

同意

错误

错误

同意

BOF=False,

EOF=True

同意

同意

错误

错误

同一时候为 True

错误

错误

错误

错误

同一时候为 False

同意

同意

同意

同意

 

    同意使用 Move 方法并不能保证该方法成功定位记录,仅仅是意味着调用指定的 Move 方法不会产生错误。

下表说明当调用各种 Move 方法但未成功定位记录时 BOF 和 EOF 属性设置所发生的情况。

 

 

BOF

EOF

MoveFirst, MoveLast

设置为 True

设置为 True

Move 0

没有变化

没有变化

MovePrevious, Move < 0

设置为 True

没有变化

MoveNext, Move > 0

没有变化

设置为 True






以上是关于学生信息管理系统EOF 和 BOF的主要内容,如果未能解决你的问题,请参考以下文章

为啥极少数情况下 bof/eof 之一对于新的非空记录集是正确的

运行时错误 3021 - EOF 或 BOF 为真或当前记录已被删除

asp.net(C#)如何 判断是不是到数据库的第一条或者是最后一条(也就是EOF或BOF)

20145336张子扬 《网络对抗》逆向及bof基础

求用C语言编写一个简单的学生信息管理程序和课程设计报告

ADO接口