vb能不能同时连接两个数据库

时间:2021-01-11 17:26:40
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

14 个解决方案

#1


当然可以。你不就是这么做的吗?

#2


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

#3


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

#4


可以的,不过

rs1.Open "select * from out_land_provide", cn1, adOpenDynamic, adLockBatchOptimistic
cn1.Execute "delete from out_land_provide"

这两句似乎应该交换一下位置吧?

#5


可是一运行就提示错误:
在获得新的行句柄之前,必须释放所有的行句柄
是什么错误啊?

#6


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

#7


可以!

#8


可以不过有必要么

#9


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

#10


不行啊

#11


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

#12


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

#13


没有区别

#14


open two database is no problem

#1


当然可以。你不就是这么做的吗?

#2


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

#3


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

#4


可以的,不过

rs1.Open "select * from out_land_provide", cn1, adOpenDynamic, adLockBatchOptimistic
cn1.Execute "delete from out_land_provide"

这两句似乎应该交换一下位置吧?

#5


可是一运行就提示错误:
在获得新的行句柄之前,必须释放所有的行句柄
是什么错误啊?

#6


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

#7


可以!

#8


可以不过有必要么

#9


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

#10


不行啊

#11


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

#12


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

#13


没有区别

#14


open two database is no problem