這可能已經回答,但我的搜索沒有找到我正在尋找的東西。1應用程序內的多個數據庫連接 - VB .NET
基本上,我開發的應用程序,允許用戶建立在設計時的查詢,即用SQL的無前提知識的用戶
應用迄今允許用戶選擇哪個表(S)從他們希望開始查詢的數據庫(我現在不會進入其餘的細節)
我的困惑是這樣的;我已經在獲取模式信息,並對其過濾,只顯示數據庫,然後將數據彙總到一個列表框內的可用表的子程序與數據庫的連接,這裏是該子:
Public Sub getSchemaInfo()
Dim ds As New DataSet
Dim dt As New DataTable
Dim con As New OleDbConnection
Dim strDatabaseLocation As String = Application.StartupPath
Dim da As New OleDbDataAdapter
Dim i As Integer
'ds.Tables.Add(dt)
con.ConnectionString = "Provider=microsoft.jet.oledb.4.0; data source = " & strDatabaseLocation & _
"\EmployeeDepartment.mdb"
'clear listbox of any data first
frmAddTable.lbTables.Items.Clear()
'Try catch block used to handle connection errors gracefully
Try
con.Open()
'Accessing methods to obtain schema information
dt = con.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Tables, New Object() _
{Nothing, Nothing, Nothing, "TABLE"})
'loop datatable to store schema information within it
For i = 0 To dt.Rows.Count - 1
'compile lbtables with a list of available tables from the database
frmAddTable.lbTables.Items.Add(dt.Rows(i)!TABLE_NAME.ToString())
Next
Catch ex As Exception
MessageBox.Show(ex.Message.ToString(), "Data Load Error", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation)
End Try
con.Close()
正如您所看到的,最上面是關於連接到數據庫和將信息加載到數據集中的所有信息。
我的問題是這樣的;每當我需要訪問數據庫及其中的任何信息,我將不得不執行所有的連接過程(oledbconnection等)。 或者我有辦法創建一個類的連接函數,只需引用它們每當我需要連接?
例如,我現在正在根據列表框中選擇的表格創建另一個收集列的子集,並將其顯示回相關清單框中的主窗體中,再次連接到數據庫,因此我是否需要執行所有連接過程?
任何信息將是非常有用的,謝謝!
閱讀更多內容後,這是否適合稱爲「連接池」?如果是這樣,有人可能會詳細說明嗎? – AdamWest 2012-03-16 18:26:01