Dim WithEvents g_dbcon As ADODB.ConnectionPrivate Sub g_dbcon_ExecuteComplete(ByVal RecordsAffected As Long, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection)
'g_dbcon连接完成事件
End Sub这样的话 是可以响应到 g_dbcon连接完成事件
可现在不单要声明一个变量,现在是需要一个数组Dim WithEvents g_dbcon(10) As ADODB.Connection问题是查了MSDN WithEvents不支持 声明数组可我现在必须得 使用数组 怎么办呢?我查了一些资料看些高人说使用 用户控件什么的,没明白,哪位高人详细解释下或给点资料看看!我想了一个简单的办法就是 声明 若干个 变量
Dim WithEvents g_dbcon_1 As ADODB.Connection
Dim WithEvents g_dbcon_2 As ADODB.Connection
Dim WithEvents g_dbcon_3 As ADODB.Connection可这样在使用此变量的时候又不好用 如
rs.Open "select *from table", "g_dbcon_"+index, adOpenDynamic, adLockBatchOptimistic, 32万能的CSDN帮帮我,谢谢!
'g_dbcon连接完成事件
End Sub这样的话 是可以响应到 g_dbcon连接完成事件
可现在不单要声明一个变量,现在是需要一个数组Dim WithEvents g_dbcon(10) As ADODB.Connection问题是查了MSDN WithEvents不支持 声明数组可我现在必须得 使用数组 怎么办呢?我查了一些资料看些高人说使用 用户控件什么的,没明白,哪位高人详细解释下或给点资料看看!我想了一个简单的办法就是 声明 若干个 变量
Dim WithEvents g_dbcon_1 As ADODB.Connection
Dim WithEvents g_dbcon_2 As ADODB.Connection
Dim WithEvents g_dbcon_3 As ADODB.Connection可这样在使用此变量的时候又不好用 如
rs.Open "select *from table", "g_dbcon_"+index, adOpenDynamic, adLockBatchOptimistic, 32万能的CSDN帮帮我,谢谢!
Dim cn2 As Connection
Dim rs As Recordset
Dim col As Collection
Dim obj As Object
Dim i As Long
Set cn1 = New Connection
cn1.Open "......"
Set cn2 = New Connection
cn2.Open "......"
Set col = New Collection
col.Add cn1, "cn1"
col.Add cn2, "cn2"
For i = 1 To col.Count
Set obj = col("cn" & i)
Set rs = obj.Execute("select * from users where uid='017'")
Debug.Print rs!Name
Next
Set rs = Nothing
Set obj = Nothing
Set cn1 = Nothing
Set cn2 = Nothing
Set col = Nothing
建立一个类 Class1:
Public WithEvents x As ADODB.Connection
Public nIndex as long
‘然后下面写X的各种事件代码
..........
窗体:
Dim g_dbcon(100) As New ADODB.Connection
Dim b(100) As New Class1 Private Sub Form_Load()
Dim i As Long
For i = 0 To 100
Set b(i).x = g_dbcon(i)
b.nIndex=i
Next
End Sub
这样用就可以了:
rs.Open "select *from table", g_dbcon(i), adOpenDynamic, adLockBatchOptimistic, 32
至于Connection的事件,交给Class1处理,可以通过nIndex判断出来是哪个Connection
Public WithEvents x As ADODB.Connection
Public nIndex as long
‘然后下面写X的各种事件代码
.......... 事件怎么写呢?Private Sub g_dbcon_ExecuteComplete(ByVal RecordsAffected As Long, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection)
Label10.Caption = "执行完成"
End Sub比如上面的
'增加一个控件. 以下就是在控件中的,'以下引用了 Open 方法及 ExecuteComplete 事件.'其它的方法及事件,LZ按这样的方式加了.'将此控件拉入窗体中,设定为数组. 想要多少就有多少.事件也有,方法也有,可以用数组控制.
Option ExplicitPrivate WithEvents x As ADODB.ConnectionPublic Event ExecuteComplete(ByVal RecordsAffected As Long, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection)
Private Sub x_ExecuteComplete(ByVal RecordsAffected As Long, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection)
RaiseEvent ExecuteComplete(RecordsAffected, pError, adStatusCancel, pCommand, pRecordset, pConnection)
End SubPublic Function cOpen(ByVal ConnectionString, Optional ByVal UserID, Optional ByVal PassWord, Optional Options As Long = -1)
x.Open ConnectionString, UserID, PassWord, Options
End Function
Private Sub UserControl11(1)_FetchComplete
这样的控件数组还是不能用啊?
这样的控件数组还是不能用啊?