获取 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 pRs = NULL;      pRs.CreateInstanc...

实现CADOConn类的获取记录集数函数: UINT GetRecordsetCount(_RecordsetPtr pRecordset)

UINT  CADOConn::GetRecordsetCount(_RecordsetPtr pRecordset) {      UINT  nCount=0;         //用于保存记...

ADO编程——获取表的所有字段(C++)

我们有时候需要通过程序获取表的所有字段,那么用ADO提供的接口获取还是很方便的。 vs2005创建控制台程序,语言为C++。 核心代码如下: struct TableField { ...

ADO在C++中的使用

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

获取 Recordset 对象中的记录数

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

ThinkPHP实战02——《ThinkPHP3.2.3 实战个人博客》笔记——引入ThinkPHP

课程来源:《ThinkPHP3.2.3 实战个人博客视频第一季》 1.ThinkPHP文件目录 到ThinkPHP官网上下载的thinkphp_3.2.3_full.zip,其目录结构如下: ...

MyEclipse/eclipse的php开发调试环境配置

IDE为程序开发者提供高效的开发环境,方便快捷、省时省力。就本人初尝对PHP开发环境的配置,也是花掉了半天的时间,才搞明白。现在分享给跟我一样初次接触,但需要IDE开发环境的菜鸟留下一份参考资料,高手...

Recordset记录集对象的属性(一)

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

Recordset记录集对象的属性

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

统说ado对象游标类型(Connection,RecordSet)以及显示数据记录的三板斧

关于ADO中的游标类型- - 对Connection来说: CursorLocation属性,包含光标服务程序的默认位置.这个值将由使用该Connection对象的Recordset对象自动继承....
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获取 Recordset 对象中的记录数 C++
举报原因:
原因补充:

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