利用VB.NET數(shù)據(jù)庫訪問方法封裝到類實現(xiàn)案例分析
我們都知道,線程要執(zhí)行的方法不能接受任何參數(shù),如果要傳入方法特定條件,可以將方法放在一個類中,在類中定義類的屬性,需要時可以設置類的屬性,然后用方法調用這些屬性以實現(xiàn)方法參數(shù)類似的功能。
#T#ADO.NET提供了一個統(tǒng)一的編程模式和一組公用的類來進行任何類型的數(shù)據(jù)訪問,而不管你用何種語言來開發(fā)代碼。ADO.NET是全新的,但又與ADO 盡可能保持一致,它使編程模式從一個客戶端/服務器、基于連接的模式轉變到了一個新的模式,這個新模式可以讓斷開的前端下載記錄、離線工作、然后重新連接來提交變化。ADO.NET是WinForms應用程序、ASP.NET應用程序和Web services的一個共有的特點。其功能可以跨LAN和 Internet連接來實現(xiàn),可以在有狀態(tài)(stateful)和無狀態(tài)(stateless)情況下實現(xiàn)。
這里把我在工作中的一點經驗分享給大家,幫大家解決遇到的問題。我們利用VB.NET數(shù)據(jù)庫訪問封裝成類,因為生成的線程在主應用程序線程之外運行,.net Framework提供線程隔離,這時如果要用新的線程操縱主應用程序中的對象便不被允許。***的辦法也是將線程要訪問的對象包裝在類中。下面我們創(chuàng)建一個類,封裝屬性和VB.NET數(shù)據(jù)庫訪問方法:
- Public Class dealDataBase
- Private m_sqlDataAdapter As SqlDataAdapter
- Private m_table As DataTable
- Public Property setDataAdapter() As SqlDataAdapter
- Get
- setDataAdapter=m_sqlDataAdapter
- End Get
- Set(ByVal value As SqlDataAdapter)
- m_sqlDataAdapter=value
- End Set
- End Property
- Public Property setDataTable() As DataTable
- Get
- setDataTable=m_table
- End Get
- Set(ByVal value As DataTable)
- m_DataTable=value
- End Set
- End Property
- Public sub GetDataFromDataBase()
- …
- m_table.Clear()
- m_sqlDataAdapter.Fill(m_table)
- …
- End Sub
- End Class
下面是創(chuàng)建線程并運行線程的代碼:
- Dim myDB As New dealDataBase ()
- Dim myThreadStart as ThreadStart
- Dim myThread as Thread
- myDB.setDataAdapter=Me.DataAdapter1 'DataAdapter1是本窗體內定義的數(shù)據(jù)適配器
- myDB.setDataTable=Me.DataTable1 'DataTable1是本窗體定義的數(shù)據(jù)表
- …
- myThreadStart=New ThreadStart(AddressOf myDB.GetDataFromDataBase)
- myThread=New Thread(myThreadStart)
- myThread.Start()
- …
- End Sub
以上就是關于VB.NET數(shù)據(jù)庫訪問問題上解決的一個方法,是不是很簡單啊。