|
蓝森林 http://www.lslnet.com 2006年8月25日 8:28
[asp]eof是数据记录第一条的意思吗?
eof是数据记录第一条的意思吗? |
请看这里
http://www.pf365.com/pf/Article_Print.asp?ArticleID=144 |
應該是最後一條之後 |
好像是最后一条吧! |
bof 是第一条
eof 是最后一条 |
同上……汗。 |
[color=Red]e[/color]nd [color=Red]o[/color]f [color=Red]f[/color]ile => eof |
bof是记录之前的闭合点
eof是记录之后的闭合点
bof <-| 第一条 | ..... | 最后一条 | ->eof
是标志不是记录
|
去实际测试,就更清楚了:
rs.open SQL,CONN,1,3
1.
如果无记录,rs.bof==true rs.eof==true 所以代码目的是只要判断有无记录则任意判断一个 bof 或 eof就可以了, 而大多数代码还是要判断 (rs.bof.eof and rs.eof) 或者 (rs.bof.eof or rs.eof) 此是多此一举
如果有记录,rs.bof==false rs.eof==false
rs.movelast
rs.movenext
移动到最后一条记录,再下移一次(移动到最后一条记录之后) 则 rs.bof==false, rs.eof==true
rs.movefirst
rs.MovePrevious
移动到第一条记录,再前移一次(移动到第一条记录之前) 则 rs.bof==true, rs.eof==false
---------------
2.
无记录: 则 bof eof全为 true
有记录: 只可能 bof 和 eof 都为 false 或其中一个 为 false 另一个为 true 不可能出现全为 true
--------------
3.
把 bof 和 eof想象为一条直线的两个端点处粘连上去的两个点
如果这条直线不存在(无记录),则这两个点重合在一起,注意!! 点是无大小的,点的体积是无穷小,所以这两个点合二为一,这时的数据库指针就在他们之上 则他们必须都为 true
反之,这条直线存在,则数据库指针对这两个基本点来说,要不就在直线上 bof eof就都为 false
要不就在任意一个点上 数据库指针只有一个,无分身术,所以只能其中一个为 true 另一个点必定为false
应该说的够透了
换个形象的想象,无记录是
|
这就是标准!!!! |
|