ADO Recordset 判断记录是否为空

 

_RecordsetPtr getuser;
 
getuser.CreateInstance("ADODB.Recordset");
 
getuser->Open(user.GetBuffer(),   //查询语句
	_variant_t((IDispatch*)m_db), //数据库
	adOpenDynamic, 
	adLockOptimistic, 
	adCmdText);
if(getuser.BOF && getuser.EOF)
{//空记录
}


 

以下是帮助文档上面的内容

 

BOF 和 EOF 属性

      

  • BOF — 指示当前记录的位置在 Recordset 对象的第一个记录之前。

  • EOF — 指示当前记录的位置在 Recordset 对象的最后一个记录之后。

返回值

BOFEOF 属性返回 Boolean 值。

说明

使用 BOFEOF 属性确定 Recordset 对象是否包含记录,或者从一个记录移动到另一个记录时是否超出Recordset 对象的限制。

如果当前记录位于第一个记录之前,则 BOF 属性返回 True (-1)。如果当前记录是第一个记录或位于第一个记录之后,则返回False (0)。

如果当前记录位于最后一个记录之后,则 EOF 属性返回 True。如果当前记录是最后一个记录或位于最后一个记录之前,则返回False

如果 BOFEOF 属性为 True,则没有当前记录。

如果打开不包含记录的 Recordset 对象,则 BOF EOF 属性被设置为 TrueRecordset 对象的 RecordCount 属性设置为零。当打开至少包含一个记录的 Recordset 对象时,第一个记录是当前记录,并且 BOFEOF 属性均为 False

如果删除 Recordset 对象中保留的最后一个记录,BOF EOF 属性将保持 False,直到重新定位当前记录为止。

下表说明对 BOFEOF 属性的不同组合所允许的 Move 方法。

 MoveFirst
MoveLast
MovePrevious
Move < 0

Move 0
MoveNext
Move > 0
BOF=True
EOF=False
允许错误错误允许
BOF=False
EOF=True
允许允许错误错误
均为 True错误错误错误错误
均为 False允许允许允许允许

允许使用 Move 方法但不能保证该方法可成功定位记录,只表明调用指定的 Move 方法不会产生错误。

下表显示当调用多个 Move 方法但未能成功定位记录时,BOF EOF 属性设置所发生的情况。

 BOFEOF
MoveFirst, MoveLast设置为 True设置为 True
Move 0没有变化没有变化
MovePrevious, Move < 0设置为 True没有变化
MoveNext, Move > 0没有变化设置为 True


 


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值