1. 程式人生 > >ADO.NET資料訪問技術基礎篇二

ADO.NET資料訪問技術基礎篇二

DataReader

基本概念

    通過DataReader我們可以以只讀、順序的方式檢視資料庫中的資料

常用屬性

IsClosed

    判斷DataReader是否關閉。

RowFetchCount

    用來設定一次取回多少筆記錄,預設值為1筆。

DataSet

基本概念

    DataSet是由一組DataTable物件組成,我們可以把DataSet看成是臨時存在記憶體中的資料庫。DataSet是獨立於資料庫的資料集合,也就是說在斷開資料連線或者關閉資料庫的狀態下,DataSet仍然是可用的。因為DataSet的內部是使用XML來描述資料的,所以DataSet具有XML的特性:與平臺無關、與語言無關、可描述資料之間的複雜關係。DataSet可以將資料和架構作為XML文件進行讀寫,資料和架構可以通過HTTP進行傳輸,並在支援XML的任何平臺上被任何應用程式使用。

多年老搭檔

DataTable

    DataSet是我們放在記憶體中的一個臨時的資料庫,DataTable就相當於這個臨時資料庫中的資料表或者資料檢視。在DataTable中,存在DataRow和DataColumn這兩個物件。DataRow對應實際資料表中的行(記錄)、DataColumn對應資料表中的列(欄位)。DataTable可以儲存記錄的初始狀態和當前狀態,而同樣可以實現DataTable相當於真實資料表功能的Recordset則不能儲存記錄的初始狀態和當前狀態,所以DataTable和Recordset是完全不同的兩個概念。     DataColumn用來存放自定義資料;DataRow表示DataType中實際的資料,我們通過DataRow將資料新增到用DataColumn定義好的DataTable中。

DataTableCollection

    DataTableCollection負責管理所有的DataTable。

DataRelationCollection

    DataRelationCollection物件就是管理DataTable的關係DataRelation。

ExtendedProperties

操作步驟

    1、通過DataAdapter使用資料來源中的資料生成和填充DataSet中的每個DataTable。     2、通過新增、更新或者刪除DataRow物件更改單個DataTable中的資料。     3、呼叫GetChanges方法建立只反映對資料進行的更改的第二個DataSet。
    4、呼叫DataAdapter總的Update方法,並將第二個DataSet作為引數進行傳遞。     5、呼叫Merge方法將第二個DateSet中的更改合併到第一個中。     6、針對DataSet呼叫AcceptChanges或者呼叫RejectChanges取消更改。

DataAdapter

基本概念

    DataAdapter表示一組SQL命令和一個數據庫連線,用於填充DataSet和更新資料來源中的資料,為DataSet和資料來源之間提供資料互動的功能。DataAdapter物件有一系列Command物件和決定DataAdapter如何與DataSet物件通訊的對映屬性的集合組成。

常用屬性

    DataAdapter有SelectCommand、InsertCommand、UpdateCommand和DeleteCommand這四個屬性,這四個屬性實際上是Command的例項物件。我們可以通過這四個屬性指定執行既定的SQL語句或者某個儲存過程。

常用方法

Fill

    呼叫SelectCommand屬性指定的SELECT語句,並將這些放到DataSet中的表中,最後對資料來源進行更新。

Update

    將DataSet表的更改反饋到相應的資料來源中,為DataSet的DataTable中的每一指定的行呼叫相應的INSERT、UPDATE或者DELETE命令。

執行機制

    當使用DataAdapter將查詢結果儲存到DataSet時,DataAdapter使用Command物件執行對資料庫的操作。DataAdapter通過DataReader讀取結果,然後將結果複製到DataSet的新行中。DataAdapter把對資料庫中的資料進行操作的Command物件儲存在DataAdapter物件中的SelectCommand屬性中。

操作步驟

    1、建立Connection物件,連線到資料庫。     2、建立DataAdapter物件,該物件包含4個可以指向Command物件的屬性,通過這些屬性我們可以指定SQL語句從而在資料庫中進行SELECT、INSERT、DELETE和UPDATE等操作。     3、建立一個包含多個表的DataSet物件。     4、通過DataAdapter物件呼叫Fill方法來填充DateSet中的DataTable。     5、修改DataSet中的資料,我們可以通過程式碼執行修改或者將DataSet繫結的使用者介面控制元件(例如DataGrid),然後在控制元件中更改資料。     6、通過DataAdapter物件呼叫Update方法,將修改後的資料返回資料庫。

DataTable

基本概念

    DataTable是一個臨時儲存在記憶體中的網格虛擬表

常用屬性

Columns

    獲取屬於該表的列的集合。

Rows

    獲取屬於該表的行的集合。

常用方法

Clear

    清除所有DataTable的資料。

Clone

    克隆DataTable的完整結構。

Copy

    複製DataTable的結構。

Dispose

    釋放空間。

Equals

    判斷指定的物件是否等於當前物件。

使用說明

建立

    DataTable可以單獨使用,也可以作為DataSet或者DataView等物件的組成部分一起使用。     方法一:我們可以使用Add方法將DataTable新增到單獨的DataTable物件的Tables集合或者DataSet物件中。     方法二:使用DataAdapter物件的Fill方法或者FillSchema方法在DataSet中建立。

注意事項

    一、將一個DataTable作為成員新增到一個DataSet的Tables集合中後,不能再將其新增到其他DataSet中。

    二、初次建立DataTable時,預設沒有架構,需要自行定義架構。要定義表的架構,我們需要建立DataColumn物件並將其新增到Columns集合中;再定義了架構後,通過將DataRow物件新增到Rows結合中將資料行新增到表中。

    三、建立DataTable時,不強制要求定義TableName屬性的值;在該值留空時,預設從0開始對DataTable進行命名。

總結

    總結的話,覺得用圖闡述更簡潔明瞭。
感謝您的寶貴時間,祝生活愉快,謝謝~~~                                              —joker