ADO.NET從概念上來說是指定義一種與資料來源進行互動的物件導向類庫。類庫即類的集合,也就是說ADO.NET主要是提供一了一些實現與資料來源進行互動的一些類和介面。
其實就我個人看來,我覺得ADO.NET更多的是定義了一套訪問資料來源的介面。介面的作用主要是用於指定規範,讓別人去實現,自己本身並不去實現。在做機房收費系統項目的時候,我們用到的sqlconnection,sqlcommand 等只是針對SQL Sever實現介面的一些類。
ADO.NET中主要是包括以下幾個對象:
下面講解它們之間的相互關係:
1.Connection對象,是ADO.NET中最底層的對象,主要是程式和資料的串連橋樑。Connection對象有兩個屬性:ConnectionString,開啟資料庫連接字串,和State,資料庫連接狀態,主要有Open和Close兩種狀態。
方法:open() 開啟資料庫連接 close()關閉資料庫連接
注意:資料庫是否串連是保證其他對象進行的前提
2.Command對象,主要是執行對資料進行添加,刪除,修改,查詢的Sql命令,也可以執行預存程序。但在執行預存程序的是,需要將Command屬性設定為command.StoredProcedure.執行sql語句的時候,設定為CommandType.Text.
主要方法:ExcuteNonQuery():執行一個sql語句,返回受影響的行數,主要是用於添加,刪除,修改操作,不用於查詢。 ExcuteReader():執行一個sql語句,返回DataReader。
ExcuteScalar():檢索單個值,主要用於統計操作。
3.DataReader對象:是一種讀取行的唯讀方式,一般來說讀取的是單條記錄,一般來說效能比DataAdapter要高,但是DataAdapter返回的是多條記錄,例如我們常用到的Dategridew控制項綁定資料,就經常要用DataAdapter來返回一個Datatable。
4.DataAdapter對象:主要是利用Connection對象,執行Command的操作,從資料來源中檢索出來的資料,送往到Dataset中進行儲存,主要是利用Fill()方法進行填充,Update()方法進行更新。
5.DataSet對象:包括DataTable和DataGridew對象,主要是負責管理儲存在記憶體中的資料以及斷開操作。
6.DataTable對象,是DataSet中的虛擬表,包括資料行和資料列。從資料行中可以得到指定的一條記錄,從資料列中可以定義資料類型,大小,以及設定是否為空白,是否為主鍵,是否唯讀等屬性。
ADO.NET改進版是上一篇部落格《ADO.NET理論+實踐》的一個版本,主要是上一篇部落格,總結的過於形式化,而沒有把對它的總結與自己結合起來,所以對它進行改進。