学生信息管理系统敲完了,之前刚接触数据库时,仅仅出现的新名词就能把你脑子搅得跟浆糊一样。经过红皮书和学生信息管理系统的洗礼,与前几个月刚接触数据库时相比,对它涉及到的知识的理解深刻了许多,其中不是很起眼但又起着重要作用的两个属性——BOF和EOF就是如此。
与它们的第一次谋面是在敲红皮书的时候,但当时对其用法理解扭曲,也没有重视,直到在学生信息管理系统的过程中才发现它倆的重要性。
BOF和EOF是Recordset(记录集)对象的一对返回值类型为布尔型的属性。
BOF指向当前记录位置位于Recordset对象的第一个记录之前;EOF指向当前记录位置位于Rocordset对象的最后一个记录之后。注意:BOF并不是指当前记录位置位于Recordset对象的第一个记录,同样EOF并不是指当前记录位于Recordset对象的最后一个记录。
下面这两段代码可以很好的说明:
正确的代码:
private sub nextCommand_Click()
mrc.MoveNext 'mrc为一个记录集对象
If mrc.EOF then
mrc.MoveFirst
End if
Call viewData 'viewData为一个在窗体上显示当前记录的函数
End sub
错误的代码:
private sub nextCommand_Click()
If mrc.EOF then
mrc.MoveFirst
Else
mrc.MoveNext 'mrc为一个记录集对象
End if
Call viewData 'viewData为一个在窗体上显示当前记录的函数
End sub
这段代码实现的功能是显示下一个记录,正确的做法是先让记录下移(无论当前记录是否为最后一个),其实可以把当前记录赋予一个指针,把数据库中的记录看作成内存地址,当下移后的指针指向最后一个地址块之后时(即下移后,记录如果指向最后一个记录之后),EOF的返回值为True。
为了理解更明了一些,画了一张图(如右图)来解释EOF和BOF,假设记录集中一共有n条记录,当当前记录指针指向第一条记录之前时,BOF属性值为True;当前记录指向中间1~n任意一条记录时,BOF和EOF属性值
都为False;当前记录指向最后一条记录之后时,EOF
属性值为True。
当然,EOF和BOF合起来也可以实现一些功能,比如:
当判断语句BOF And EOF时,如果结果为True即它们倆的返回值都为True时则表明当前记录集中没有任何记录;而当记录中只有一个记录并处于该记录位置时,BOF和EOF的返回值都为False。
分享到:
相关推荐
在调试“学生管理系统”时,想修改学籍信息,如果此时数据库中的数据已被完全删除则会出现“BoF 或Eof有一个是真,或当前记录已被删除的错误
------------------------- ###推荐使用下面两条 if not (rs.bof and rs.eof) then 表示:指针位于 RecordSet 的当中(并非是最后一条和第一条) ,说明一定有记录。 if rs.bof and rs....
在这些天敲写和调试学生信息管理系统的时候,经常会用到EOF(Endof File)和BOF(Before of File),稍加不注意查询我们的数据库会出错,那么这俩到底是何方神圣,是怎么用的,之间又有什么区别呢? 一、认识 ...
解决T3/T6打最新增量补丁后,提示本地版本...1、解决了使用工具报EOF或BOF错误的问题 2、使用工具后,如果还不行,请尝试重启电脑 3、重启还不行,看一下是不是360之类的软件把update.exe给隔离了 更新日期:2013-7-25
计算机视觉的实验,Python写的代码,萌新代码,勿喷,仅仅只是方便没时间写实验的朋友,直接用python打开就能运行
使用bof算法来提取图像特征,在corel数据集(10*100张图片)上实现以图搜图,即输入数据集中某一张图,在剩下的999张图里搜索最邻近的10张图。
使用KMeans算法与BOF 算法实现图像检索,Matlab编码
python计算机视觉编程——基于BOF的图像检索(附代码) 计算机视觉.pdf
MFC 按钮的小例子,初学者很适用,希望大家一起享用
BOF&麦肯锡-2020全球时尚业态报告(英文)-2019.12-108页.pdf
icecast_libshout_bof
icecast_avllib_bof
BOF.NET是一个小型本机BOF对象,与BOF.NET托管运行时结合使用,可以直接在.NET中开发Cobalt Strike BOF。 BOF.NET消除了本机编译的复杂性以及手动导入本机API的麻烦。 由于可以使用传统的托管调试器来调试.NET程序集...
BOF.NET-钴击信标对象文件的.NET运行时介绍BOF.NET是一个小型本机BOF对象,与BOF.NET托管运行时结合使用,可以直接在.NET中开发Cobalt Strike BOF。 BOF.NET消除了本机编译的复杂性以及手动导入本机API的麻烦。由于...
Filter bank representation methods for speech recognition
Bof-exploit:Python
触发BoF(这对OSCP有利,因为它们为您提供了代码段) 查找EIP偏移 确认偏移 找到坏蛋 确认错误字符+查找JMP ESP指令 确认代码执行(pop calc) 利用主机 它基于“”项目(顺便说一句,对此进行了令人敬畏的解释)...
Source Code for bag of features, developed in Matlab