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

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