У меня есть вопрос, я хочу создать 1 подпрограмму для получения нескольких наборов данных в любое время работы программы.Теперь мой вопрос: можете ли вы использовать один DataAdapter для получения DataSets из нескольких баз данных или же DataSet привязан к собственному DataAdapter.Я знаю, что соединение можно закрыть, а затем снова открыть для новой базы данных, но не уверен, как оно работает с адаптером.
Ниже приведены простые примеры, которые, я думаю, объяснят;
Module modDataBases
Private dbConnection As New OleDb.OleDbConnection
ReadOnly dbProvider As String = "PROVIDER=MICROSOFT.ACE.OLEDB.12.0;"
Private dbSource As String
Private dbDataSet As New DataSet
Private dbDataAdapter As OleDb.OleDbDataAdapter
Private intFN As Integer = 0
Private dbtest(10) As New DataSet ‘ Is for the different Names needed in DataAdapter
Public dsNames(10)
Public Sub OpenDatabaseConnection(strLocation As String, strDatabase As String, strSQLCommand As String)
On Error GoTo ErrorHandling
For intFN = 0 To dbQTY
dbSource = "Data Source = " & strLocation & "\" & dbNames(intFN) & dbExtention
dbConnection.ConnectionString = dbProvider & dbSource
dbConnection.Closen() ‘ Only to be sure the Connection is closed
Application.DoEvents()
dbConnection.Open()
Application.DoEvents()
dbDataAdapter = New OleDb.OleDbDataAdapter(strSQLCommand, dbConnection)
dbDataAdapter.Fill(dbDataSet, dbTest(intFN))
dbConnection.Closen()
dsNames(intFN) = dbDataSet or if not possible as array then dsnames = dbDataSet
Next
End sub