目標達成: 我想從3個不同的地方有3個不同的SQL查詢3個不同的dataTable到1單個DataSet,我將不得不返回形式我的功能。如何用Vb.net中的3個不同適配器填充數據集?
我:
Private Function getDataSet()
Dim ad1,ad2,ad3 As Object
ad1 = New Data.OleDb.OleDbDataAdapter(query1, conStr1)
ad2 = New Data.SqlClient.SqlDataAdapter(query2, conStr2)
ad3 = New Data.SqlClient.SqlDataAdapter(query3, conStr3)
Dim dataSet As New Data.DataSet
// I want to fill dataSet with the 3 adapters !
// ad1.Fill(dataSet) : ad2.Fill(dataSet) : ad3.Fill(dataSet)
// Will this work ?
ad1.Dispose() : ad2.Dispose() : ad3.Dispose() // What does Dispose() method do ?
Return dataSet
End Function
Dim ds = getDataSet()
data1 = ds.Tables(0)
data2 = ds.Tables(1)
data3 = ds.Tables(2)
請幫助..
- 我想用最好的執行上述任務。
我們是開放,在這裏3次關閉連接,我們不能做所有的'3個查詢1連接'如果所有3都具有相同的'conStr'? –
@Yuga。很高興我能幫上忙。但是不要誤解你可以爲所有人使用相同的連接。由於連接池將使用相同的連接(當連接字符串相同時),即使您將使用不同的方法創建/打開/關閉連接。所以你不應該有一個「全局」連接並使用它。在需要的地方創建並使用它,ADO.NET連接池將爲您完成剩下的工作。 –