一、认识

BOF:指当前记录位置位于Recordset对象的第一个记录之前

EOF:指当前记录位置位于Recordset对象的最后一个记录之后

这两个的属性值均返回布尔型:True和False,使用BOF 和 EOF 属性可确定 Recordset 对象是否包含记录,或者从一个记录移动到另一个记录时是否超出 Recordset 对象的限制。 下表即是各自的使用说明及查询结果:

EOF

BOF

True

当前行的位置是在最后一行的后面,无记录

当前行的位置是在第一行之前,无记录

False

当前行的位置是在最后一行或其前面,有记录

当前位置是在第一行或其后,有记录

说明:

(1)如果当前记录位于第一个记录之前,BOF 属性将返回 True(-1),如果当前记录为第一个记录或位于其后则将返回 False (0)。

(2)如果当前记录位于 Recordset 对象的最后一个记录之后 EOF 属性将返回True,而当前记录为 Recordset 对象的最后一个记录或位于其前,则将返回 False。

(3)如果 BOF 或 EOF 属性为 True,则没有当前记录。

(4)如果打开没有记录的 Recordset 对象,BOF 和 EOF 属性将设置为True,而 Recordset 对象的 RecordCount 属性设置为零。打开至少包含一条记录的 Recordset 对象时,第一条记录为当前记录,而BOF 和 EOF 属性为 False。

(5)如果删除 Recordset 对象中保留的最后记录,BOF 和 EOF属性将保持 False,直到重新安排当前记录。

而在我们的学生信息管理系统中,会涉及到对指针进行的MoveFirst、MoveLast、MovePrevious与MoveNext四种方法。一般来说,当需要对记录集Recordset中的所有行进行操作时,代码可以使用MoveNext,循环遍历各行,直到EOF属性被置为True

如果当 EOF 被置为 True 时再使用 MoveNext ,或当 BOF被置为 True 时再使用 MovePrevious ,都将产生一个提示代号为‘3021’的错误。

需要注意的是:允许一个Move 方法并非意味着,该方法能成功地定位某行。它仅表示执行这个指定的 Move 方法是允许的,并且不产生一个错误。 BOF 和 EOF属性的状态可以随着该移动的结果而改变。

二、用法

If objRs.BOF Then

表示:当前指针的位置是在第一行记录之前,则...

If objRs.EOF Then

表示:当前指针的位置是在最后一行记录之后,则...

If Not objRs.EOF Then

表示:当前指针的位置没有到达最后一条记录

If Not objRs.BOF then

表示:当前指针的位置没有到达第一条记录

推荐使用下面两条

If Not (objRs.BOF AND objRs.EOF) Then

表示:指针位于RecordSet 的当中(并非是最后一条和第一条) ,说明一定有记录。

If objRs.BOF AND objRs.EOF Then

表示:没有任何记录

VB数据库中EOF和BOF的认识与用法相关推荐

  1. 不同数据库中查询前几条记录的用法(SQL Server/Oracle/Postgresql)

    SQL在不同数据库中查询前几条记录的用法分类 1. orACLE Select * FROM TABLE1 Where ROWNUM<=N 2. INFORMIX Select FIRST N ...

  2. Oracle数据库中escape、in、between...and...用法举例

    Oracle数据库中escape.in.between-and-用法举例 1.escape是用来转译的,当表A 的name字段 中存在字符'%',而且查询第二位是 '%',就要用到模糊查询,但是'%' ...

  3. VB中EOF和BOF

    学生管理系统中的EOF和BOF是什么意思呢?分享一点小知识.   含义 返回值型 作用 BOF 当前记录位置位于Recordest对象的第一个记录之前 布尔型 确定Recordest对象是否包含记录, ...

  4. VB中 EOF 和 BOF 的区别

    定义 BOF:指当前记录位置位于Recordset对象的第一个记录之前: EOF:指当前记录位置位于Recordset对象的最后一个记录之后. 这两个的属性值均返回布尔型:True和False,使用B ...

  5. mysql的on和in用法_数据库中in、on、with的用法及示例。

    with用法: 创建一个表: create table regr (pid integer,id integer, name char(20)) alter table regr alter id s ...

  6. oracle传date参数十二小时,Oracle数据库中 to_date()与24小时制表示法及mm分钟的显示...

    一.在使用Oracle的to_date函数来做日期转换时,时候也许会直接的采用"yyyy-MM-dd HH:mm:ss"的格式作为格式进行转换,但是在Oracle中会引起错误:&q ...

  7. PostgreSQL 数据库中 DISTINCT 关键字的 4 种用法

    文章目录 DISTINCT DISTINCT ON IS DISTINCT FROM 聚合函数与 DISTINCT 大家好,我是只谈技术不剪发的 Tony 老师.PostgreSQL 不但高度兼容 S ...

  8. java向mysql写入数据慢_通过java代码往mysql数据库中写入日期相关数据少13个小时...

    通过show variables like '%time_zone%'; 查看时区: CST 时区 名为 CST 的时区是一个很混乱的时区,有四种含义: 美国中部时间 Central Standard ...

  9. php eof bof,VB中Recordset之BOF与EOF详解

    VB中Recordset之BOF与EOF详解 2018-08-31 09:29阅读: id_999 单身,寻另一半!! 关注 BOF:指当前记录位置位于Recordset对象的第一个记录之前: EOF ...

  10. vb读取mysql多表,vb获取数据库中所有表的名称

    以下是 OpenSchema 方法的三个参数: 一个枚举的值,指定所需的架构类型.示例包括 adSchemaTables. adSchemaPrimaryKeys. adSchemaColumns. ...

最新文章

  1. Step By Step(Lua调用C函数)
  2. ztree.js的使用整理
  3. vue 加载时掉用mounted_Vue实例中生命周期created和mounted的区别详解
  4. 编译cscope-15.8a遇到的问题与解决方案
  5. scheduled每天下午1点执行一次_在Spring Boot项目中使用@Scheduled注解实现定时任务...
  6. 火爆 GitHub 的《机器学习 100 天》,有人把它翻译成了中文版!
  7. spring原始注解开发-01
  8. 《c语言从入门到精通》看书笔记——第15章 存储管理
  9. SQL日常维护的语句
  10. 国内 GitHub 造假黑色产业链曝光;开源开发者撤销对 ICE 禁用的决定
  11. 128.Two Sum
  12. STM32 软件重启导致死机的情况分析
  13. idea 2020版的Default Setting
  14. web网页打印设计的CSS样式
  15. 如何使用WordPress搭建网站
  16. 雷达波形样式_雷达技术的发展趋势概述
  17. erp5,一套基于python和gpl协议,功能和界面完全模仿sap r3的大型开源制造业erp系统
  18. 高级查询组件下拉框联动(三)
  19. 结合d3.js实现气象数据的可视化
  20. 上海市建筑标准规范合集

热门文章

  1. 工厂有库存的我司高价IMX377CQT-C回收IMX317CQC-C长期回收OV芯片
  2. 关于DNF的多媒体包NPK文件的那些事儿(10) - SPK文件
  3. 华为 eNSP 模拟器安装教程(内含下载地址)
  4. python代码之飞机大战完整版(附带image素材资源)
  5. 基于Python的DBC转Excel脚本
  6. 蝙蝠算法的matlab程序,多目标蝙蝠算法
  7. 【预测模型-ELAMN预测】基于哈里斯鹰算法优化ELMAN神经网络实现数据回归预测matlab代码
  8. matlab实现信号与系统中卷积的计算的两种方法
  9. SystemView 应用笔记
  10. 随机森林模型sklearn_sklearn之随机森林