获取 Recordset 对象中的记录数 C++

原创 2011年01月19日 16:30:00

本文转自:http://dev.firnow.com/course/3_program/c++/cppsl/2008419/110683.html

在 ADO 中,用 Recordset  对象的 Open 方法打开记录集后,就可以用 GetRecordCount 方法获取记录数。

代码如下:

    CString strSQL = "SELECT * FROM authors"; 

    _RecordsetPtr pRs = NULL; 
    pRs.CreateInstance("ADODB.Recordset");

long nRecordCount = 0;

try

        pRs->Open( _variant_t(strSQL),
            m_pConnection.GetInterfacePtr(),
            adOpenStatic,
            adLockOptimistic,
            adCmdText);


        nRecordCount = pRs->GetRecordCount();

        pRs->Close();
    }
catch ( _com_error &e )

        MessageBox( e.Description() ); 
    }

    CString strRecordCount;

    strRecordCount.Format( "RecordCount: %d" , nRecordCount );

    MessageBox( strRecordCount );

注意:

在用 Open 方法打开记录集时使用了 adOpenStatic 游标;如果使用 adOpenDynamic 游标,GetRecordCount 方法将返回 -1 。

我的看法:

使用静态游标时,数据已经被取到了本地内存中,所以可以知道记录数;

而使用动态游标时,只有移动到记录集结尾时才能统计出记录数,所以刚打开记录集时返回 -1 。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ADO访问数据库获取 Recordset 对象中的记录数

CString strSQL = "SELECT * FROM authors";           _RecordsetPtr...

ADO在C++中的使用

最近程序中用到读写数据库,看了些例子,查了番MSDN,下面把详细步骤写出来,以备忘,或与同行共勉。

VC+ADO recordset(属性含义)

第一部分:记录集 记录集是从数据库中按一定查询条件读入到内存中的一批记录,以供快速的操作。 记录集recordset对象的属性,方法: BOF:当记录集记录指针指到起始记录(第1条记...

MFC _RecordsetPtr 用法小结

_RecordsetPtr智能指针,它是专门为通过记录集操作数据库而设立的指针,通过该接口可以对数据库的表内的记录、字段等进行各种操作。 要搞清楚:数据库和ADO的记录集是两个不同的概念, 是存在于不...

获取 Recordset 对象中的记录数

在 ADO 中,用 Recordset  对象的 Open 方法打开记录集后,就可以用 GetRecordCount 方法获取记录数。代码如下:    CString strSQL = "SELECT...
  • zaodt
  • zaodt
  • 2008-04-15 21:13
  • 6717

Recordset记录集对象的属性

Recordset对象的作用是由数据库返回记录集。根据查询结果返回一个包含所查询数据的记录集,然后显示在页面上。因为删除、更新、添加操作不需要返回记录集,因此可以直接使用连接对象或是命令对象的Exex...

RecordSet对象

  • 2009-05-07 11:41
  • 110KB
  • 下载

RecordSet对象

  • 2014-08-30 16:49
  • 74KB
  • 下载

如何解决取ADO的Recordset对象的RecordCount属性总是-1问题

1.如何解决取ADO的Recordset对象的RecordCount属性总是-1问题? 最近在用asp做网页后台时,遇到了一个烦人的问题,RecordSet对象的RecordCount和PageCo...

初识vb数据库最常用的两个对象(ADO Recordset 和 ADO Connection)

提高班开学十几天了,这个暑假我们主要任务是进行英语的学习和数据库的学习。先对vb数据库开发经典实例解析这本书进行了一定的学习,实例1至实例5敲完了,低下头仔细想了想,印象最深的两个东东就是ADO Re...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)