圖文講解DAO.NET DataSet對象
我想大家都知道ADO.NET的基本組成結構和特點,在這里就不和大家說了,筆者今天主要就DAO.NET DataSet對象來詳細分析一下。希望大家能更深入的了解DAO.NET DataSet對象結構,常用屬性及方法的運用。
1.數(shù)據(jù)集DataSet概述
數(shù)據(jù)集DataSet是斷開與數(shù)據(jù)源的連接時,可以被使用的數(shù)據(jù)記錄在內(nèi)存中的緩存。前面在4-1-3節(jié)斷開式數(shù)據(jù)庫訪問連接部分提到,可以把數(shù)據(jù)集DataSet看作是內(nèi)存中的數(shù)據(jù)庫。它在應用程序中對數(shù)據(jù)的支持功能十分強大。DataSet一經(jīng)創(chuàng)建,就能在應用程序中充當數(shù)據(jù)庫的位置,為應用程序提供數(shù)據(jù)支持。
數(shù)據(jù)集DataSet的數(shù)據(jù)結構可以在.net開發(fā)環(huán)境中通過向導完成,也可以通過代碼來增加表、數(shù)據(jù)列、約束以及表之間的關系。數(shù)據(jù)集DataSet中的數(shù)據(jù)既可以來自數(shù)據(jù)源,也可以通過代碼直接向表中增加數(shù)據(jù)行。這也看出,數(shù)據(jù)集DataSet類似一個客戶端內(nèi)存中的數(shù)據(jù)庫,可以在這個數(shù)據(jù)庫中增加、刪除數(shù)據(jù)表,可以定義數(shù)據(jù)表結構和表之間的關系,可以增加、刪除表中的行。
數(shù)據(jù)集DataSet不考慮其中的表結構和數(shù)據(jù)是來自數(shù)據(jù)庫、XML文件還是程序代碼,因此數(shù)據(jù)集DataSet不維護到數(shù)據(jù)源的連接。這緩解了數(shù)據(jù)庫服務器和網(wǎng)絡的壓力。對數(shù)據(jù)集DataSet的特點總結可以總結為四點:
***,使用數(shù)據(jù)集對象DataSet無需與數(shù)據(jù)庫直接交互;
第二,DataSet對象是存儲從數(shù)據(jù)庫檢索到的數(shù)據(jù)的對象;
第三,DataSet對象是零個或多個表對象的集合,這些表對象由數(shù)據(jù)行和列、約束和有關表中數(shù)據(jù)關系的信息組成;
第四,DataSet對象既可容納數(shù)據(jù)庫的數(shù)據(jù),也可以容納非數(shù)據(jù)庫的數(shù)據(jù)源。
2.DataSet的結構,常用屬性及方法
數(shù)據(jù)集DataSet是以DataSet對象形式存在的。DAO.NET DataSet對象是一種用戶對象,此對象表示一組相關表,在應用程序中這些表作為一個單元來引用。DataSet對象的常用屬性是Tables、Relations等。DataSet對象的層次結構圖所示:

DataSet對象由數(shù)據(jù)表及表關系組成,所以DataSet對象包含DataTable對象集合Tables和DataRelation對象集合Relations。而每個數(shù)據(jù)表又包含行和列以及約束等結構,所以DataTable對象包含DataRow對象集合Rows、DataColumn對象集合Columns和Constraint對象集合Constraints。DataSet層次結構中的類請參見表所示:
類 |
說明 |
DataTableCollection |
包含特定數(shù)據(jù)集的所有DataTable對象 |
DataTable |
表示數(shù)據(jù)集中的一個表 |
DataColumnCollection |
表示DataTable對象的結構 |
DataRowCollection |
表示DataTable對象中的實際數(shù)據(jù)行 |
DataColumn |
表示DataTable對象中列的結構 |
DataRow |
表示DataTable對象中的一個數(shù)據(jù)行 |
類 說明
DataTableCollection 包含特定數(shù)據(jù)集的所有DataTable對象
DataTable 表示數(shù)據(jù)集中的一個表
DataColumnCollection 表示DataTable對象的結構
DataRowCollection 表示DataTable對象中的實際數(shù)據(jù)行
DataColumn 表示DataTable對象中列的結構
DataRow 表示DataTable對象中的一個數(shù)據(jù)行
【編輯推薦】