pRst->Open(
_variant_t("select count(*) from table"),
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText); long lRecordCount = pRst->RecordCount; //结果lRecordCount 是1,符合我的要求,接着if(!pRst->adoEOF){
对pRst操作
}else{
//居然进入该分支,也就是说任何Move操作都会异常
}大家帮帮忙,什么意思呀,怎么回事哟?
_variant_t("select count(*) from table"),
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText); long lRecordCount = pRst->RecordCount; //结果lRecordCount 是1,符合我的要求,接着if(!pRst->adoEOF){
对pRst操作
}else{
//居然进入该分支,也就是说任何Move操作都会异常
}大家帮帮忙,什么意思呀,怎么回事哟?
试试。
这条语句就会给你返回一条记录那就是表中记录的条数
_variant_t("select count(*) from table"),
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
===================================
select count(*) from table
改成
select * from table
这句话把游标放到末尾
将这句话赋值放到if()内试试
_variant_t("select count(*) from table"),
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText); long lRecordCount = pRst->RecordCount; //这句之后游标会指向EOF
pRst->MoveFirst(); //重新指向第一条记录
if(!pRst->adoEOF)
{
//对pRst操作
}
else
{
//记录尾
}