这可能已经回答,但我的搜索没有找到我正在寻找的东西。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