首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ADODB::_RecordsetPtr::GetRecordCount()失败

ADODB::_RecordsetPtr::GetRecordCount()失败
EN

Stack Overflow用户
提问于 2013-08-22 22:50:35
回答 1查看 1.6K关注 0票数 1

我正在尝试使用ADO在C++中进行一些查询。以下是我的代码

代码语言:javascript
复制
string commandline = "SELECT * FROM My_Table";

ADODB::_RecordsetPtr pRS("ADODB.Recordset");

ADODB::_ConnectionPtr pConn("ADODB.Connection");

pRS->Open(commandline.c_str(), _variant_t((IDispatch *) pConn, true), ADODB::adOpenUnspecified,  ADODB::adLockUnspecified, ADODB::adCmdText);

cout<<pRS->GetRecordCount();

我在My_Table中有1000条记录,因此我希望看到输出1000。但是,输出为-1

我能知道我错在哪里吗?

在此之前,非常感谢您。

EN

回答 1

Stack Overflow用户

发布于 2013-11-26 05:02:53

仅当基础提供程序或游标类型实际支持RecourdCount属性时,该属性才有效,否则返回-1。

尝试使用静态游标(传递ADODB::adOpenStatic而不是ADODB::adOpenUnspecified)

还请注意,即使提供程序支持,获取记录计数也可能会使用大量资源,因为提供程序必须在知道受查询影响的记录数量之前获取所有记录。

有关详细文档,请参阅此MSDN页面。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18383841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档