高手请帮忙:我现在需要一次打开几个SQL数据表,怎样连接是最简单的,而且速度快,谢谢

解决方案 »

  1.   

    Public cn As New ADODB.Connectiondim rs(5) as new recordset
    dim sql stringcn.open "Provider = SQLOLEDB.1;Persist Security Info = False;" & _
        "User ID = adminID;Password = youPwd;Data Source = youSERVER;" & _
        "Initial Catalog = youDB"sql="Select * From tb1"  & vbcrlf & _
        "Select * From tb2"  & vbcrlf & _
        "Select * From tb3"  & vbcrlf & _
        "Select * From tb4"  & vbcrlf & _
        "Select * From tb5"
    Dim i As Integer
    For i = 1 To 5
        rs(i).CursorLocation = adUseClient
    Nextrs(1).Open Sql, Conn, adOpenKeyset, adLockOptimistic
    Set rs(2) = rs(1).NextRecordset
    Set rs(3) = rs(2).NextRecordset
    Set rs(4) = rs(3).NextRecordset
    Set rs(5) = rs(4).NextRecordset这样是一种方法
      

  2.   

    谢谢!!!不过还有问题:
    For i = 1 To 5
        rs(i).CursorLocation = adUseClient
    Nextrs(1).Open Sql, Conn, adOpenKeyset, adLockOptimistic
    Set rs(2) = rs(1).NextRecordset
    Set rs(3) = rs(2).NextRecordset
    Set rs(4) = rs(3).NextRecordset
    Set rs(5) = rs(4).NextRecordset
    这一段是什么意思?请指教,谢谢
      

  3.   

    1.
    rs(i).CursorLocation = adUseClient
    每个记录集都使用客户端游标。这个可选,默认是服务器端游标,速度快,但不支持某些属性和方法,比如不能返回正确的recordcount2.
    注意你的SQL语句,返回的是一个序列的Recordset对象。NextRecordset方法就是清除当前 Recordset 对象,返回序列中的下一个记录集。