全面解析VB.NET線程數據庫訪問方法封裝類
作者:佚名
文章主要介紹了VB.NET線程訪問數據庫的講解,VB.NET線程操縱主應用程序中的對象便不被允許,最好的辦法也是將線程要訪問的對象包裝在類中。
你在開發程序的時候最不好弄的就是線程這個問題,你要考慮并發和多種時候的情況一起訪問數據庫。VB.NET線程要執行的方法不能接受任何參數,如果要傳入方法特定條件,可以將方法放在一個類中,在類中定義類的屬性,需要時可以設置類的屬性,然后用方法調用這些屬性以實現方法參數類似的功能。同時,因為生成的線程在主應用程序線程之外運行,.net Framework提供線程隔離,這時如果要用新的VB.NET線程操縱主應用程序中的對象便不被允許。***的辦法也是將線程要訪問的對象包裝在類中。下面我們創建一個類,封裝屬性和數據庫訪問方法:
- 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
下面是創建VB.NET線程并運行線程的代碼:
- Dim myDB As New dealDataBase ()
- Dim myThreadStart as ThreadStart
- Dim myThread as Thread
- myDB.setDataAdapter=Me.DataAdapter1 'DataAdapter1是本窗體內定義的數據適配器
- myDB.setDataTable=Me.DataTable1 'DataTable1是本窗體定義的數據表
- …
- myThreadStart=New ThreadStart(AddressOf myDB.GetDataFromDataBase)
- myThread=New Thread(myThreadStart)
- myThread.Start()
- …
- End Sub
【編輯推薦】
責任編輯:田樹
來源:
博客