BOF和EOF的详细解释

请问ASP中BOF和EOF是什么意思!求详细解释!谢谢!最好举个例子
2024-11-02 16:36:43
推荐回答(3个)
回答1:

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

如果同时产生了bof和aof的情况,就是说rs的指针既在上界之外也在下届之外,这样只有一种情况,就是rs所代表的数据集是空的,这样rs的指针无论是指到什么地方都是同时具有bof和eof的属性。

你的情况估计是sql语句查询出来的值是空的,因此数据集也是空的,在读取rs数据集里面的值的时候就会报这个错误。
使用 if rs.bof and rs.eof then 这个判断可以判别rs里面是否有没有数据集,如果符合这个条件,说明数据集是空的,在程序中就要绕开对rs里字段的访问。

回答2:

bof
指示当前记录位置位于
recordset
对象的第一个记录之前。
eof
指示当前记录位置位于
recordset
对象的最后一个记录之后。
返回值
bof

eof
属性返回布尔型值。
说明
使用
bof

eof
属性可确定
recordset
对象是否包含记录,或者从一个记录移动到另一个记录时是否超出
recordset
对象的限制。
如果当前记录位于第一个记录之前,bof
属性将返回
true
(-1),如果当前记录为第一个记录或位于其后则将返回
false
(0)。
如果当前记录位于
recordset
对象的最后一个记录之后
eof
属性将返回
true,而当前记录为
recordset
对象的最后一个记录或位于其前,则将返回
false。
如果
bof

eof
属性为
true,则没有当前记录。
如果打开没有记录的
recordset
对象,bof

eof
属性将设置为
true,而
recordset
对象的
recordcount
属性设置为零。打开至少包含一条记录的
recordset
对象时,第一条记录为当前记录,而
bof

eof
属性为
false。
如果删除
recordset
对象中保留的最后记录,bof

eof
属性将保持
false,直到重新安排当前记录。

回答3:

bof: begin of file
eof: end of file