vb能不能同时连接两个数据库并同时创建两个记录集啊?
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cn1 As New ADODB.Connection
Dim rs1 As New ADODB.Recordset
cn.Open "upgisdb", "sa", "opensoft"
rs.Open "select * from y_gytdsp", cn, adOpenDynamic, adLockBatchOptimistic
cn1.Open "fan", "sa", "sijihuacheng2004"
rs1.Open "select * from out_land_provide", cn1, adOpenDynamic, adLockBatchOptimistic
cn1.Execute "delete from out_land_provide"
rs.MoveLast
rs.MoveFirst
Do While Not rs.EOF If rs!htze >= "2004-1-1" Then
 rs1.AddNew
 rs1!region_code = "210100"
 rs1!land_place = rs!tdzl
 rs1.Update
 End If
 rs.MoveNext
 Loop Text1.Text = rs!htze
End Sub

解决方案 »

  1.   

    ADODB没试过,应该可以的,小生以前有用过DAO实现的.....待找着代码时我给贴出来吧~`````````
      

  2.   

    4句改为:
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim cn1 As ADODB.Connection
    Dim rs1 As ADODB.Recordset需要在定义后加:
    Set cn=new adodb.connection
    set rs=new adodb.recordset
    Set cn1=new adodb.connection
    set rs1=new adodb.recordset
    另记得在最后关闭记录集和连接
    Cn.close
    rs.close
    Cn.close
    rs1.close
      

  3.   

    可以的,不过rs1.Open "select * from out_land_provide", cn1, adOpenDynamic, adLockBatchOptimistic
    cn1.Execute "delete from out_land_provide"这两句似乎应该交换一下位置吧?
      

  4.   

    程序在运行到addnew时出现错误,提示就是:在获得新的行句柄之前,必须释放所有的行句柄。哪位仁兄帮帮忙啊
      

  5.   

    你试试在if rs! then 后面加上一句rs.movelast看看行吗,不行再说
      

  6.   

    1、rs.MoveLast    ’应该是rs1.MoveLast  
       rs.MoveFirst
    2、把adOpenDynamic 换成adOpenDynaset 试试。。
      

  7.   

    请问dim rs as new recordset 与 dim rs as recordset  set rs=new recordset 这二语句有区别吗
      

  8.   

    open two database is no problem