CnCon.ConnectionTimeout = 25
    CnCon.Provider = "sqloledb"
    CnCon.Properties("User ID") = "sa"
    CnCon.Properties("Password") = "spider119"
    CnCon.Properties("Data Source").Value = ServerIP
    CnCon.Properties("Initial Catalog").Value = "hjwl_server"
    CnCon.Properties("Integrated Security").Value = "SSPI"
    CnCon.Open    rs.Open "select * from sys_info", CnCon, adOpenKeyset, adLockPessimistic
查询完以后rs.recordcount返回是-1,这是怎么回事啊,我用ACCESS是蛮好的,但是导入到SQL SERVER 2000里就出现这样的情况

解决方案 »

  1.   

    通常recordcount是信不过的
    返回-1有可能是没有record,也有可能是不支持,所以应该next next的数
      

  2.   

    '连接Sql Server数据库的ODBC方式
       
       'DataBaseConn :一个定义的全局数据库连接变量
       'ServerIp :服务器IP
       'ServerPort :Sql Server访问端口
       'UserName :登录名
       'UserPwd :登录密码
       'DatabaseName:要连接的数据库名称   Set DataBaseConn = New ADODB.Connection   
       DatabaseConnectionString= "Driver={sql server};server=" & ServerIp & "," & ServerPort & ";uid=" & UserName & ";pwd=" & UserPwd & ";database=" & DatabaseName   DataBaseConn.ConnectionTimeout = 120
       DataBaseConn.CommandTimeout = 90
       DataBaseConn.CursorLocation = adUseClient
       DataBaseConn.Open DatabaseConnectionString'获取一个字段集的记录数:
       Dim rs As New ADODB.Recordset
       Dim StrSql as string   StrSql = "select * from sys_info"
        rs.Open strsql, DataBaseConn    If rs.RecordCount > 0 Then
        end if
      

  3.   

    将rs.Open "select * from sys_info", CnCon, adOpenKeyset, adLockPessimistic中的最后一项去掉,即rs.Open "select * from sys_info", CnCon, adOpenKeyset
    试试看
      

  4.   

    找到答案了
    DataBaseConn.CursorLocation  =  adUseClient
    rs.Open  "select  *  from  sys_info",  CnCon,1,3