MFC ADO RecordCount 返回值为-1

本文详细介绍了在使用ADO版本2.0或更高版本时,遇到服务器端记录集RecordCount返回-1的情况。讨论了与CursorTypeadOpenForwardonly、adOpenDynamic以及OLEDB提供程序(如JET和SQLServer)的特定行为。提供了使用服务器端游标(CursorTypeadOpenKeyset或adOpenStatic)或客户端游标的解决方案,确保在不同CursorType和LockType组合下正确获取数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 当您请求为 serverside 记录集 RecordCount 时,可能会返回-1。发生这种情况与 ActiveX 数据对象 (ADO) 版本 2.0 或更高版本,该 CursorType adOpenForwardonly 或 adOpenDynamic 时。在就会发生此事件与 ADO 1.5 仅在 cursortype adOpenForwardonly。用 OLEDB 提供程序进行测试的 JET 和 SQL Server 产生具体取决于提供程序的不同结果。

提供程序可能不支持某些 CursorTypes。当选择了不受支持的 CursorType 提供程序应选择最靠近您的请求 CursorType。请参阅与您的提供程序的文档。同时,请注意并非所有组合 LockType 和 CursorType 协同都工作。更改一个 LockType 可能强制该 CursorType 中的更改。一定要使用调试 OLEDB 提供商进行测试时检查 CursorType 的值。

 

解决方案:

使用服务器端游标作为该 CursorType adOpenKeyset 或 adOpenStatic 或使用客户端游标。客户端游标使用仅 adOpenStatic CursorTypes 无论哪个 CursorType 您选择的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值