如题:
    用adodb.command为什么得不到所查询后的recordcount属性,如需要返回改怎么操作.
    Set rsDataConfig = cmdDataConfig.Execute(, , adCmdText)

解决方案 »

  1.   

    http://www.china-askpro.com/msg21/qa32.shtml
    设置数据源的游标: .CursorLocation = adUseClient
      

  2.   

    现象 
        ==== 
        当在服务器端请求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'注意使用客户端游标
      

  3.   

    同意一楼的看法,设置为临时表方式即可
    在cn打开前加上这么一句:
    cn.CursorLocation = adUseClient