BOF和EOF

       在做机房的时候出现了一个错误,但是从头到尾都没有报过错,直到第一次验项目的时候,才被师父发现这个问题。比如说在注册一个新用户的时候,所有的数据都输入好,点击存盘,会显示成功,但是在数据库里却找不到这一数据,我开始怀疑自己没有连接上数据库,于是从配置ODBC开始找错,一直到模块的连接数据库的代码,都没有找到,怀疑人生ing~后来终于在小伙伴的帮助下,找到了错误所在的位置。


       没错,一开始我写的代码是“Ifmrc.EOF=true then”,这就导致了根本找不到数据集中的数据。所以今天我们就来谈一谈BOF和EOF。

       BOF是什么呢?指示当前记录位置位于Recordset对象的第一个记录之前。EOF是什么呢?指示当前记录位置位于Recordset对象的最后一个记录之后。我可能说不明白,于是画了一张图,有点辣眼睛,慎看!

       这样就清楚很多了~当我们使用ADO连接数据库的时候,数据库将查询结果返回到查询端,在查询端的内存里面就会有一个列表,这个列表存放的就是查询的结果,也就是数据集。在我们机房的模块中的rst就是表示这个数据集。BOF表示rst当前的指针是指在了数据集的前面,比如数据集里面有编号1,2,3,4,四条记录,但是rst指向的编号是-1,这样也就是BOF的情况啦~~同理,当指针指向5的时候,而第五条记录不存在,这样就是EOF的情况啦~~

       如果同时产生了BOF 和EOF的情况,也就说rst的指针又在上界之外,也在下界之外,这种情况就是说明这个数据集是空的。

       出了一次错之后对BOF和EOF的理解就更加深刻了,以上就是我的理解了,一些官方的关于BOF和EOF的说法没有怎么说,感觉有点晦涩,想知道更多的小伙伴就自己问度娘咯~~

评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值