主题:  EOF和BOF

书同人

职务:普通成员
等级:1
金币:0.0
发贴:179
#12004/6/4 9:32:23
有个简单的逻辑问题,希望大虾可以帮我解答。
EOF,相当于end of,到达最后一条记录。

BOF,相当于begin of ,到达最前一条记录。

not rs.eof,相关于不是最后一条记录

可是rs.bof and rs.eof,这表示什么?

rs.eof or rs.bof这又表示什么意思?

常看到这两句代码出现在查询里面,可是我不太明白它们的意思,请大虾明示,谢谢。



orc

职务:普通成员
等级:2
金币:1.0
发贴:464
#22004/6/4 11:56:40
我也不太懂。
总之大体上是搜索数据库找不到所要求的记录的意思。

例如
rs.eof
这样的句子的意思是说找不到所要的记录。
好像记得书上说记录指针向下移动,从头到尾。记录指针走到尾了就是找不到。

至于rs.bof,好像差不多意思也是找不到
好像记得有语句设置样记录指针倒转走,从尾走到头。

失礼失礼了。虽然说得不太确定又十分不专业,起码我还热心回复。就别扔鸡蛋。



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#32004/6/4 14:31:08
eof 不是在最后一条,而是已经出了最后一条,所以到达了 end; 同理,bof 还未到达第一条。

通常取出 recordset 后,指针位于第一条上。如果这个记录集不包括记录,则指针就位于一个“空档”上,这个“空档”,既是 bof 又是 eof.

所以,如果取出 rs 后,可通过 not rs.eof 来判断 记录集非空;如果 rs.bof and rs.eof 成立,表明这个记录集不包含记录。

rs.bof or rs.eof 用处不大,如果它成立的话,表明指针在一个有效记录上。