數據讀取器對象SqlDataReader與數據適配器對象SqlDataAdapter的使用

  一、數據讀取器對象SqlDataReader的使用
     如何執行有查詢結果集的select語句。
1. SqlDataReader對象的作用:當包含select語句的SqlCommad對象在調用ExecuteReader( )方法時,系統會在數據庫服務器端生成一個查詢結果集,注意,該查詢結果集是存儲在數據庫的,因此在獲取這個查詢結果集的過程中應用程序與數據庫服務器的連接是不能斷開的,即SqlConnection對象應該處於Open狀態。ExecuteReader( )在生成了查詢結果集的同時,還會返回一個SqlDataReader類型的對象給應用程序,此時應用程序就可以使用SqlDataReader對象去數據庫服務器端逐行獲取數據,因此這是個循環的過程。
2. 這種執行select語句的方式適合大數據集的情況。
3. SqlDataReader對象的常用方法:
a) Read( )方法:該方法的作用是讀取數據庫服務器中查詢結果集的當前行記錄。讀取後記錄的指針下移,下次再調用Read( )方法時,將獲得下一行數據。
b) Get數據類型名(字段的位置) :這是一系列方法的統一格式,使用這類方法獲得讀取到的當前記錄的指定位置的字段的值。具體Get後面要選擇哪個數據類型,要看這個字段的數據類型。

    二、數據適配器對象SqlDataAdapter的使用
使用SqlDataReader對象讀取查詢記錄集適合於大型的查詢語句結果集的情況。如果查詢結果集量較少,使用SqlDataReader並不合適,因爲,在SqlDataReader對象讀取數據的過程中,應用程序與數據庫服務器之間的連接一直打開,會佔用數據庫服務器的資源,降低了數據庫訪問的併發性,也增加了數據庫服務器的壓力。因此,在查詢結果集中的記錄量比較少的時候可以考慮使用SqlDataAdapter的對象。
1. SqlDataAdapter使用的優點:
     a、可以自動打開與關閉連接,不需要人爲的調用連接的Open方法
     b、將查詢結果集放置到應用程序中,不佔用數據庫服務器的資源與連接。
2. SqlDataAdapter使用的步驟:
     a、創建一個SqlCommand命令對象,併爲該對象設置好連接、命令字符串、如果命令中包含參數還應該爲命令增加參數對象。
   b、基於上面的命令對象創建一個SqlDataAdapter類的對象
   c、創建一個Dataset類的對象,以備後面使用。Dataset類是數據集類,該類的對象是1個或多個DataTable類對象的集合。而DataTable類對象本質上是一個具有行和列的數據表,是一塊內存結構,是臨時存儲數據用的。不同於數據庫中真正的表對象
   d、調用SqlDataAdapter類的對象的Fill方法,將執行命令對象的查詢語句,並將結果集填充到上面事先定義好的Dataset類對象中。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章