1. 程式人生 > >C#學習筆記—ADO.NET

C#學習筆記—ADO.NET

ADO.NET是與C#和.NET Framework一起使用的類集的名稱,用於以關係型的、面向表的格式訪問資料。ADO.NET被整合到.NETFramework中,可用於任何.NET語言,尤其是C#。

ADO.NET包括所有的System.Data名稱空間及其巢狀的名稱空間,如System.Data.SqlClient和System.Data.Linq,以及System.XML名稱空間中的一些與資料訪問相關的專用類。

ADO.NET的名稱由來是ADO(ActiveX Data Objects),是一個廣泛的類組,用於在以往的Microsoft技術中訪問資料,是優先使用的資料訪問介面。ADO.NET的設計目標(也就是以實現的技術目標):簡單地訪問關係和非關係資料;統一XML和關係資料訪問;支援Internet上的多層應用程式;擴充了更多的資料來源(相較於ADO)。

可以將ADO.NET中的物件劃分為.NET資料提供者物件  和  .NET使用者物件。

提供者物件:在每一個.NET資料提供者中定義的物件,其名稱前帶有特定提供者的名稱(如:OleDbConnection、SqlConnection)用於每一種型別的資料來源,完成資料來源的實際讀取和寫入工作。包括的類有:Connection、Command、CommandBuilder、DataReader、DataAdapter。

提供者物件需要活動的連線(保持與資料來源的連線),讀取資料後通過使用者物件使用記憶體中的資料,同時可以使用提供者物件更新資料來源中的資料,並將變動寫回到資料來源中。

提供者物件有:連線物件Connection,它用於任何其他ADO.NET物件之前,它提供了到資料來源的基本連線;命令物件Command,使用此物件向資料來源發出命令;CommandBuilder物件,此物件用於構建SQL命令,在基於單一表查詢的物件中進行資料修改;DataReader物件,該物件可以從資料來源中讀取僅能前向和只讀的資料流;對於簡單地讀取資料來說,此物件的效能最好;DataAdapter物件,這是一個通用的類,可以執行鍼對資料來源的各種操作,包括更新變動的資料,填充DataSet物件以及其他操作。

使用者物件:將資料讀入到記憶體中後用來訪問和操作資料的物件。包括的類:DataSet、DataTable、DataRow、DataColumn、DataRelation。

使用者物件以非連線(資料已在記憶體中)的方式使用,甚至在資料庫連線關閉之後也可使用記憶體中資料。

使用者物件有:DataSet物件,DataSet物件是使用者物件中的首要物件,此物件表示一組相關表,在應用程式中這些表作為一個單元來引用,可以從每個表中獲取所需要的資料。DataSet允許訪問低階物件,這些物件代表單獨的表和關係,就是DataTable和DataRelation;DataTable物件,此物件是DataSet中一個表,DataTable物件允許訪問其中的列和行,分別是DataColumn物件和DataRow物件;DataRow物件,代表來自表的關聯資料的一行;DataColumn物件,代表表中的一列;DataRelation物件,此物件代表通過共享列而發生關係的兩個表之間的關係。

用DataSet讀取資料,DataSet是ADO.NET中的核心物件,所有複雜的操作都使用它。DataSet包含一組DataTable物件,它們表示所操作的資料庫表(可以只包含一個DataTable物件)。每個DataTable物件都有一些子物件DataRow和DataColumn,表示資料庫表中的行和列。通過這些物件可以獲取表、行和列中的所有元素。

不同的資料來源需要引用不同的.NET資料提供者,分別是:SQL Server .NET資料提供者using System.Data.SqlClient;Oracle .NET資料提供者using System.Data.OracleClient(Oracle本身也提供了一個.NET資料提供者,表示Oracle.DataAccess.Client);OLEDB .NET資料提供者using System.Data.oledb;ODBC.NET資料提供者using System.Data.odbc;其他內建的.NET資料提供者。