EOF和BOF的区别
产生
使用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
EOF和BOF的区别相关推荐
- VB中 EOF 和 BOF 的区别
定义 BOF:指当前记录位置位于Recordset对象的第一个记录之前: EOF:指当前记录位置位于Recordset对象的最后一个记录之后. 这两个的属性值均返回布尔型:True和False,使用B ...
- VB中EOF和BOF
学生管理系统中的EOF和BOF是什么意思呢?分享一点小知识. 含义 返回值型 作用 BOF 当前记录位置位于Recordest对象的第一个记录之前 布尔型 确定Recordest对象是否包含记录, ...
- EOF和BOF是什么意思
EOF和.BOF是什么意思 BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前. EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后. 当RecordCoun ...
- EOF 与 BOF 之分
使用ADO连接数据库进行查询的时候,数据库将查询结果返回查询端,在查询端的内存里面就会有一个列表,这个列表存放的就是查询的结果.这个内存中的列表就是记录集. EOF(end of file)--记录当 ...
- 红皮书--EOF与BOF
实例1 BOF:指当前记录位置位于Recordset对象的第一个记录之前 EOF:指当前记录位置位于Recordset对象的最后一个记录之后 这两个的属性 ...
- EOF和BOF的理解
刚刚在敲数据库例子的时候,遇到了一个错误:实时错误'3021' "BOF和EOF中有一个是"真",或者当前的记录已被删除,所需的操作要求一个当前记录".其实这个 ...
- EOF和NULL的区别
一. EOF和NULL都在头文件stdio.h中 二. 1.EOF多用来判断是不是到了文件末尾, eg: while(ch!=EOF)//判断ch是不是为文件末尾字符,不是while的循环继续进行 2 ...
- 由一条OpenResty Error log谈谈ngx.exit与ngx.eof的区别
事由 我们基于Vanilla开发了一个类似于一个网关的流量分发服务,在原来的业务线上对不同的业务使用不同的后端(PHP.Python.Lua...)进行处理,最近在紧锣密鼓的测试(当然这里咱们主要看问 ...
- C语言之EOF、feof函数、ferror函数
本文为转载文章,原文:C语言再学习 -- EOF.feof函数.ferror函数 EOF详解 1.定义: EOF是end of file的缩写,表示"文字流"(stream)的结尾 ...
- C语言再学习 -- EOF、feof函数、ferror函数
EOF详解 EOF是end of file的缩写,表示"文字流"(stream)的结尾.这里的"文字流",可以是文件(file),也可以是标准输入(stdin) ...
最新文章
- 探索C#之布隆过滤器(Bloom filter)
- Android 系统启动(一)---fork机制
- 辨异 —— 冠词(定冠词、不定冠词、零冠词)
- 李开复:数位革命——创新创业的黄金时代
- mongodb 事务_MongoDB4 事务 简单易懂的??
- currenttimemillis 毫秒还是秒_亿级数据毫秒级查询!ElasticSearch是怎么做到的?
- MySQL的未来在哪?
- 需要使用Git branch switch 的情况Git stash的使用时机
- Maven发布工程到公共库
- 国家java认证考试报名入口,值得一读!
- 射频电路设计——射频器件基础
- URI和URL的概念和区别
- c语言程序怎样输出一个图形,用c语言如何输出并显示一个序列图形
- oracle dataguard坏块,dataguard主库坏块的修复
- 国家各个政府机构网站
- 微软收购雅虎要中国政府审批?
- 设置view 的MarginTop
- x20手机科学计算机,360手机N4 跑分遭泄露 Helio X20名不虚传
- segment:?co?_如何跟踪用户动作并了解它们:Segment + MixPanel
- 《那些年啊,那些事——一个程序员的奋斗史》——99
热门文章
- RocketDock不能开机正常启动的解决方法
- 我的世界怎么在网易的服务器里显示皮肤,我的世界怎么显示皮肤,怎么在嗨皮咳嗽上显示自定义皮肤...
- Python pass语句及其作用
- Windows 命令行基础
- 论文笔记(二)Region Proposal by Guided Anchoring(CVPR2019)
- BZOJ2038: [2009国家集训队]小Z的袜子(hose) 莫队算法 莫队算法讲解及时间复杂度证明
- html 链接excel表格,excel表格超链接设置
- 一次失败的鼠标修理经验
- Android 9 系统修改内设WLAN热点名称
- 用批处理的方式压缩文件