Public Function GetRecordSet(Sql As String) As ADODB.Recordset
Dim StrCon As String
Dim StrSql As String
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Dim StrPath As String
Set con = New ADODB.Connection
Set rs = New ADODB.Recordset
StrCon = GetConStr
con.Open StrCon
Set rs = con.Execute(Sql)
Set GetRecordSet = rs
End Function我在调用GetRecordSet函数后,
set rs=GetRecordSet("sql")
rs.RecordCount返回的总是-1
为什么,怎么解决

解决方案 »

  1.   

    con.CursorLocation = adUseClient
      

  2.   

    rs.CursorLocation=adUseClient
    Set rs = con.Execute(Sql)
      

  3.   

    connection.cursorlocation = aduseclient
      

  4.   

    到底是con.CursorLocation = adUseClient还是
    rs.CursorLocation=adUseClient
      

  5.   

    用Connection对象执行一个"select count(*) from table1"得到比较好
      

  6.   

    rs.CursorType = adOpenStatic
    rs.open Sql,con
      

  7.   

    //到底是con.CursorLocation = adUseClient还是
    //rs.CursorLocation=adUseClient是con.CursorLocation = adUseClient
      

  8.   

    应该是rs.CursorLocation=adUseClient如果ADO的RecordCount为-1,需设置属性CursorType参数为2或3
      

  9.   

    rs.CursorLocation=adUseClient
    Set rs = con.Execute(Sql)
     我也遇到相同问题,就写上面就好啦
      

  10.   

    rs.CursorLocation=adUseClient或者
    rs.open strsql,pubconn,1,1