成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

經典講解VB.NET線程方法之訪問數據庫

開發(fā) 后端
線程是操作系統分配處理器時間的基本單元,線程可以在單個執(zhí)行線程執(zhí)行的同時運行多個活動,文章主要就VB.NET線程方法訪問數據庫進行詳細介紹。

在向大家詳細介紹VB.NET線程之前,首先讓大家了解下線程,然后全面介紹VB.NET線程方法。線程是操作系統分配處理器時間的基本單元,線程可以在單個執(zhí)行線程執(zhí)行的同時運行多個活動,支持搶先多任務處理的操作系統可以創(chuàng)建多個線程并通過時間片輪轉的方式使它們同時運行。在需要良好用戶交互的應用以及與網絡和數據庫進行通訊的應用中,使用多線程能提供良好的交互體驗,能對用戶的要求做出快速的反應。本文主要介紹.NET中的線程在數據庫編程中的具體應用(用VB.NET實現)。

1 創(chuàng)建數據庫訪問線程

在數據庫應用中,特別是網絡數據庫訪問,因為可能要訪問的數據量較大,因此需要比較長的時間來得到結果,而一個良好的程序應具有良好的交互性,在訪問數據庫時應允許你的應用程序對用戶的活動盡快做出響應,以提供豐富的用戶體驗。利用多線程機制可以讓需要大量時間的操作在后臺運行以快速響應用戶的活動。下面的代碼訪問數據庫并返回數據表:

  1. Private sub GetDataFromDataBase()  
  2. …  
  3. m_table.Clear()  
  4. m_sqlDataAdapter.Fill(m_table)  
  5. …  
  6. End Sub  

創(chuàng)建Thread對象的新實例,需創(chuàng)建新的線程代理.ThreadStart線程代理可以指定生成線程時要執(zhí)行的方法名,但線程代理并不實際運行線程.創(chuàng)建ThreadStart對象時,需指定線程開始執(zhí)行時要運行的方法的指針,該方法不能接受任何參數。下面我們將上面的代碼分配給一個線程處理,并且啟動它:

  1. Dim myThreadStart as ThreadStart =New ThreadStart(AddressOf GetDataFromDataBase)  
  2. Dim myThread as Thread=New Thread(myThreadStart)  
  3. myThread.Start()  

這樣當進行數據庫的訪問時,用戶可以繼續(xù)進行處理。

2.VB.NET線程方法使用事件

調用了線程的start方法,并不能確保其中的方法馬上執(zhí)行完,而要得到數據訪問的結果又必須等其中的方法執(zhí)行完畢。如果在運行線程后采用循環(huán)查詢的方法顯然影響了交互性,事件是從線程方法返回數據的好方法。只要在VB.NET線程方法所在的類中定義一個事件,在VB.NET線程方法中發(fā)出事件,而在窗體類中生成代理。
首先在dealDataBase類聲明后加進事件:

  1. Public Class dealDataBase  
  2. Public Event GetDataComplete(ByVal e As DtatTable)  
  3. …  
  4. End Class  

在類dealDataBase的GetDataFromDataBase()方法中加入發(fā)出事件的代碼,放在m_sqlDataAdapter.Fill(m_table)后:

  1. Public sub GetDataFromDataBase()  
  2. …  
  3. m_sqlDataAdapter.Fill(m_table)  
  4. RasiseEvent GetDataComplete(m_table)  
  5. …  
  6. End Sub   

下面在窗體類中生成代理

  1. Private Sub dealData (ByVal e As DataTable)  
  2. '處理數據表  
  3. End Sub  

在創(chuàng)建線程并運行線程的代碼中進行事件連接,事件連接代碼放在運行線程前, dealDataBase類實例化后:

  1. AddHandler myDB. GetDataComplete,AddressOf dealData  

這樣,當線程方法執(zhí)行完畢就會發(fā)出事件,而dealData方法會響應事件并做出處理。

【編輯推薦】

  1. VB.NET水晶報表控件經驗總結
  2. 簡單講述VB.NET Excel
  3. 學習VB.NET Data Report控件
  4. 詳談VB自定義類型參數的傳遞
  5. VB.NET字符串數組全面分析
責任編輯:田樹 來源: csdn
相關推薦

2009-10-29 17:45:24

VB.NET線程

2010-01-18 17:45:33

VB.NET線程訪問數

2009-11-11 11:33:08

VB.NET線程訪問數

2009-10-16 09:40:54

VB.NET訪問注冊表

2009-10-28 16:47:26

VB.NET訪問數據庫

2010-01-12 10:40:58

VB.NET數據庫壓縮

2009-10-12 16:08:14

VB.NET訪問注冊表

2009-10-23 15:35:42

VB.NET實用教程

2010-01-18 19:21:51

VB.NET存取數據庫

2010-01-12 16:30:21

VB.NET數據轉換

2009-11-11 11:43:26

VB.NET數據庫訪問

2010-01-11 16:04:10

VB.NET使用wit

2009-10-20 10:16:24

VB.NET COMB

2010-01-14 15:44:17

VB.NET數據綁定

2009-10-28 17:08:57

VB.NET數據庫開發(fā)

2009-10-28 17:00:30

VB.NET數據庫

2009-10-27 09:30:53

VB.NET DLL搜

2010-01-08 10:37:50

VB.NET數據庫

2009-10-13 17:31:50

VB.NET Acce

2009-10-26 14:36:33

VB.NET數據自增
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩高清中文字幕 | www.日日夜夜| 在线看一区二区三区 | 亚洲精品高清视频在线观看 | 亚洲三区在线 | 一二三区av| 国产亚洲久 | 日韩精品一区二区三区视频播放 | 中文字幕在线不卡播放 | 久久久久亚洲精品 | 国产精选一区 | 黄色在线免费观看视频网站 | 久久一区精品 | 91在线网站 | 久久精品视频亚洲 | 欧美极品少妇xxxxⅹ免费视频 | 国产成人精品a视频一区www | 国产一级电影在线 | 欧美精品久久久久 | 最新91在线| 午夜视频在线免费观看 | 黄网站涩免费蜜桃网站 | 亚洲国产精品久久久久 | 九九热九九 | 91看片| 成人深夜福利 | 狠狠综合久久av一区二区小说 | www312aⅴ欧美在线看 | 久久精品视频免费观看 | 亚洲免费在线观看 | 精品在线一区 | 色屁屁在线观看 | 国产精品久久久久久久久久久久久久 | 狠狠色综合久久丁香婷婷 | 一区二区福利视频 | 欧美在线一区二区三区四区 | 一区二区三区在线观看免费视频 | 欧美激情视频一区二区三区在线播放 | 国产97在线视频 | 精品国产乱码久久久久久影片 | 日本久久精品视频 |