gpt4 book ai didi

c++ - ADODB::_RecordsetPtr::GetRecordCount() 失败

转载 作者:太空宇宙 更新时间:2023-11-04 11:50:45 28 4
gpt4 key购买 nike

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

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

我可以知道我哪里错了吗?

非常感谢。

最佳答案

RecourdCount 属性仅在底层提供程序或游标类型实际支持它时才有效,否则返回 -1。

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

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

引用这个MSDN详细文档页面。

关于c++ - ADODB::_RecordsetPtr::GetRecordCount() 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18383841/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com