VC中用ADO记录集对象,获取某个表的记录总数!...

//呵呵,在网上查了下资料,再加上自己的亲自实践,还真获得了记录总数,在此记录下关键代码,以后用得着呢!大笑

//记得我第一次获取记录总数的时侯得到了一个-1,呵呵,现在终于明白是啥回事了,原来是游标的选择问题啊!敲打

 

//关键代码如下

try   //获取记录集总数
 {
    m_recordset.CreateInstance(_uuidof(Recordset));
    m_recordset->Open("SELECT * FROM Guestbook",
     m_connection.GetInterfacePtr(),
     adOpenStatic,  //用静态游标
     adLockOptimistic,
     adCmdText
     );

    int n =  m_recordset->GetRecordCount();
    CString N;
    N.Format("数据库中的表Guestbook记录总数为:%d",n);
    AfxMessageBox(N);

//说明:Recordset 对象的游标类型会影响是否能够确定记录的数目
//对仅向前游标,RecordCount 属性将返回 -1
//对静态或键集游标返回实际计数,对动态游标取决于数据源返回 -1 或实际计数。
//如果用静态方式打开,直接GetRecordCount就是记录数,不需要自己去遍历了。
//如果游标使用不对,GetRecordCount返回-1。
     
 }
 catch(_com_error e)
 {
  AfxMessageBox("error!");
  AfxMessageBox(e.ErrorMessage());
  AfxMessageBox(e.Description());
  return false;
 }

 

posted @ 2011-11-10 13:04  氺〤魚Oo。  阅读(273)  评论(0编辑  收藏  举报