探秘BOF 和EOF

简介: 信息管理系统做完了,这里总结一下不是很起眼但又起着重要作用的两个属性——BOF和EOF就是如此。

      信息管理系统做完了,这里总结一下不是很起眼但又起着重要作用的两个属性——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。

20130805145709156.jpg

为了理解更明了一些,画了一张图(如右图)来解释EOF和BOF,假设记录集中一共有n条记录,当当前记录指针指向第一条记录之前时,BOF属性值为True;当前记录指向中间1~n任意一条记录时,BOF和EOF属性值

都为False;当前记录指向最后一条记录之后时,EOF

属性值为True。

   

      当然,EOF和BOF合起来也可以实现一些功能,比如:

      当判断语句BOF And EOF时,如果结果为True即它们倆的返回值都为True时则表明当前记录集中没有任何记录;而当记录中只有一个记录并处于该记录位置时,BOF和EOF的返回值都为False。

相关文章
|
7月前
|
运维 虚拟化 开发者
Docker-全面详解(学习总结---从入门到深化)
Docker-全面详解(学习总结---从入门到深化)
121 1
|
15小时前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
62 49
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
6月前
|
Web App开发 XML JSON
程序与技术分享:Curl命令详解
程序与技术分享:Curl命令详解
71 0
|
7月前
|
Unix Docker 容器
【超强图解Docker常见命令与实战】
【超强图解Docker常见命令与实战】
130 0
|
网络协议 Unix
EOF到底是什么意思?
我们在使用C标准I/O时,经常会看到EOF这个概念,这里需要明确的是并不存在EOF这样一个字符,它只是一个控制条件。起初,我认为EOF就是字面意思即,到达了文件的结尾(End of File)。
1144 1
|
数据库
BOF和EOF的区别
BOF和EOF的区别
133 0
|
tengine 缓存 负载均衡
重识Nginx - 01 Nginx 主要应用场景及版本概述
重识Nginx - 01 Nginx 主要应用场景及版本概述
99 0
|
Linux C语言
【创作赢红包】| 【Linux】 基础IO——自己实现文件接口FILE
【创作赢红包】| 【Linux】 基础IO——自己实现文件接口FILE
119 0
|
运维 Linux 开发者
Linux 面试必备 -IO 重定向及管道高级进阶 | 学习笔记
快速学习Linux 面试必备 -IO 重定向及管道高级进阶
168 0
|
缓存 负载均衡 算法
今天终于彻底搞懂 Nginx 的五大应用场景
一、HTTP服务器 1、 首先在文档根目录Docroot(/usr/local/var/www)下创建html目录, 然后在html中放一个test.html; 2、 配置nginx.conf中的server 3、访问测试 4、指令简介 5、location uri正则表达式 二、静态服务器 1、在/usr/local/var/www 下分别创建images和img目录,分别在每个目录下放一张test.jpg 三、反向代理 四、负载均衡 1. RR(round robin :轮询 默认) 2. 权重 3. ip_hash 4. fair(第三方) 5. url_hash(第三方) 五、动静分离
120 0
今天终于彻底搞懂 Nginx 的五大应用场景