产生

使用ADO连接数据库进行查询的时候,数据库将查询结果返回查询端,在查询端的内存里面就会有一个列表,这个列表存放的就是查询的结果。这个内存中的列表就是数据集。在你的程序里面rs就是表示这个数据集。BOF表示rs当前的指针是指在了数据集的前面,比如数据集里面有编号为1,2,3,4的4条记录,但是rs指向的编号是-1,这样就会符合了BOF的情况。同理,当rs的指针指向5,而第五条记录并不存在,这样就会产生了EOF的情况。

程序如果在这些地方出现问题,就会产生一个提示代号为‘3021’的错误。

认识

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

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

作用

这两个的属性值均返回布尔型:True和False,使用BOF

和 EOF属性可确定 Recordset对象是否包含记录,或者从一个记录移动到另一个记录时是否超出 Recordset对象的限制。下表即为使用EOF和BOF的查询结果。


理解

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

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,直到重新安排当前记录。


配合Move使用

配合MoveFirst、MoveLast、MovePrevious与MoveNext四种方法使用。

1.一般来说,当需要对记录集Recordset中的所有行进行操作时,代码可以使用MoveNext,循环遍历各行,直到EOF属性被置为True

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

下表为用不同EOF和BOF属性所允许的Move方法。

用法

    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'表示:没有任何记录

在你查询的表中没有数据,可能是SQL的问题也可能是真的没有数据。只要加上一个出错处理就可以了。

on error resume next
rss.movefirst
if err=3021 then
response.write "无数据!"
end if
Good luck always go around with you!

EOF和BOF的区别相关推荐

  1. VB中 EOF 和 BOF 的区别

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

  2. VB中EOF和BOF

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

  3. EOF和BOF是什么意思

    EOF和.BOF是什么意思 BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前. EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后. 当RecordCoun ...

  4. EOF 与 BOF 之分

    使用ADO连接数据库进行查询的时候,数据库将查询结果返回查询端,在查询端的内存里面就会有一个列表,这个列表存放的就是查询的结果.这个内存中的列表就是记录集. EOF(end of file)--记录当 ...

  5. 红皮书--EOF与BOF

    实例1              BOF:指当前记录位置位于Recordset对象的第一个记录之前       EOF:指当前记录位置位于Recordset对象的最后一个记录之后     这两个的属性 ...

  6. EOF和BOF的理解

    刚刚在敲数据库例子的时候,遇到了一个错误:实时错误'3021' "BOF和EOF中有一个是"真",或者当前的记录已被删除,所需的操作要求一个当前记录".其实这个 ...

  7. EOF和NULL的区别

    一. EOF和NULL都在头文件stdio.h中 二. 1.EOF多用来判断是不是到了文件末尾, eg: while(ch!=EOF)//判断ch是不是为文件末尾字符,不是while的循环继续进行 2 ...

  8. 由一条OpenResty Error log谈谈ngx.exit与ngx.eof的区别

    事由 我们基于Vanilla开发了一个类似于一个网关的流量分发服务,在原来的业务线上对不同的业务使用不同的后端(PHP.Python.Lua...)进行处理,最近在紧锣密鼓的测试(当然这里咱们主要看问 ...

  9. C语言之EOF、feof函数、ferror函数

    本文为转载文章,原文:C语言再学习 -- EOF.feof函数.ferror函数 EOF详解 1.定义: EOF是end of file的缩写,表示"文字流"(stream)的结尾 ...

  10. C语言再学习 -- EOF、feof函数、ferror函数

    EOF详解 EOF是end of file的缩写,表示"文字流"(stream)的结尾.这里的"文字流",可以是文件(file),也可以是标准输入(stdin) ...

最新文章

  1. 探索C#之布隆过滤器(Bloom filter)
  2. Android 系统启动(一)---fork机制
  3. 辨异 —— 冠词(定冠词、不定冠词、零冠词)
  4. 李开复:数位革命——创新创业的黄金时代
  5. mongodb 事务_MongoDB4 事务 简单易懂的??
  6. currenttimemillis 毫秒还是秒_亿级数据毫秒级查询!ElasticSearch是怎么做到的?
  7. MySQL的未来在哪?
  8. 需要使用Git branch switch 的情况Git stash的使用时机
  9. Maven发布工程到公共库
  10. 国家java认证考试报名入口,值得一读!
  11. 射频电路设计——射频器件基础
  12. URI和URL的概念和区别
  13. c语言程序怎样输出一个图形,用c语言如何输出并显示一个序列图形
  14. oracle dataguard坏块,dataguard主库坏块的修复
  15. 国家各个政府机构网站
  16. 微软收购雅虎要中国政府审批?
  17. 设置view 的MarginTop
  18. x20手机科学计算机,360手机N4 跑分遭泄露 Helio X20名不虚传
  19. segment:?co?_如何跟踪用户动作并了解它们:Segment + MixPanel
  20. 《那些年啊,那些事——一个程序员的奋斗史》——99

热门文章

  1. RocketDock不能开机正常启动的解决方法
  2. 我的世界怎么在网易的服务器里显示皮肤,我的世界怎么显示皮肤,怎么在嗨皮咳嗽上显示自定义皮肤...
  3. Python pass语句及其作用
  4. Windows 命令行基础
  5. 论文笔记(二)Region Proposal by Guided Anchoring(CVPR2019)
  6. BZOJ2038: [2009国家集训队]小Z的袜子(hose) 莫队算法 莫队算法讲解及时间复杂度证明
  7. html 链接excel表格,excel表格超链接设置
  8. 一次失败的鼠标修理经验
  9. Android 9 系统修改内设WLAN热点名称
  10. 用批处理的方式压缩文件