为何adodb.command返回的recordset对象的recordset.count=-1 如题: 用adodb.command为什么得不到所查询后的recordcount属性,如需要返回改怎么操作. Set rsDataConfig = cmdDataConfig.Execute(, , adCmdText) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.china-askpro.com/msg21/qa32.shtml设置数据源的游标: .CursorLocation = adUseClient 现象 ==== 当在服务器端请求RecordCoun时会返回-1。这是因为ActiveX Data Objects (ADO) 2.0中的CursorType是adOpenForwardonly或者adOpenDynamic。如果是ADO 1.5,只发生在cursortype是adOpenForwardonly的时候。如果使用OLEDB provider for JET和SQL Server产生的结果可能不同,这依赖于数据库的提供者。 提供者可能不支持某些CursorTypes。当你选择的CursorType不被支持时,提供者将选择最接近于你所请求的CursorType。请参考你的提供者的文档。此外,请注意不是所有的LockType和CursorType的组合都可以同时工作。改变LockType将强制改变CursorType。请确定使用调试来检查CursorType的值。 原因 ===== 在动态的游标中纪录号可能改变。Forward only的游标无法返回RecordCount。 解决办法 ========== 使用adOpenKeyset(=1)或者adOpenStatic(=3)作为服务器端游标或者客户端游标。客户端只使用adOpenStatic作为CursorTypes,而不管你选择什么样的CursorType。 rsDataConfig.CursorLocation = adUseClient'注意使用客户端游标 同意一楼的看法,设置为临时表方式即可在cn打开前加上这么一句:cn.CursorLocation = adUseClient 一个小问题。请大家进来看看 StdUserProperty函數 怎样用VB关掉NT服务 如何设置datareport控件的,DataMember 属性?50分!大侠帮个忙! 按钮问题?? 急求助数据库查询方面的代码 几天没来VB版就乱成这个样子?希望大家为了VB版的发展以和为贵!! 100分:SQL语句,赐除有限重复字段的疑问! VB程序打包错误,各位大虾救命啊! 如何控制打印比例?谁有好办法? #32770是什么控件啊,什么语言写的。 在EXECL里面的单元格上点右键弹出用户窗体,如何在鼠标位置显示窗体?
设置数据源的游标: .CursorLocation = adUseClient
====
当在服务器端请求RecordCoun时会返回-1。这是因为ActiveX Data Objects (ADO) 2.0中的CursorType是adOpenForwardonly或者adOpenDynamic。如果是ADO 1.5,只发生在cursortype是adOpenForwardonly的时候。如果使用OLEDB provider for JET和SQL Server产生的结果可能不同,这依赖于数据库的提供者。
提供者可能不支持某些CursorTypes。当你选择的CursorType不被支持时,提供者将选择最接近于你所请求的CursorType。请参考你的提供者的文档。此外,请注意不是所有的LockType和CursorType的组合都可以同时工作。改变LockType将强制改变CursorType。请确定使用调试来检查CursorType的值。
原因
=====
在动态的游标中纪录号可能改变。Forward only的游标无法返回RecordCount。
解决办法
==========
使用adOpenKeyset(=1)或者adOpenStatic(=3)作为服务器端游标或者客户端游标。客户端只使用adOpenStatic作为CursorTypes,而不管你选择什么样的CursorType。 rsDataConfig.CursorLocation = adUseClient'注意使用客户端游标
在cn打开前加上这么一句:
cn.CursorLocation = adUseClient