dataset對(duì)象深入分析

dataset對(duì)象深入分析

ID:12351355

大小:32.41 KB

頁(yè)數(shù):6頁(yè)

時(shí)間:2018-07-16

dataset對(duì)象深入分析_第1頁(yè)
dataset對(duì)象深入分析_第2頁(yè)
dataset對(duì)象深入分析_第3頁(yè)
dataset對(duì)象深入分析_第4頁(yè)
dataset對(duì)象深入分析_第5頁(yè)
資源描述:

《dataset對(duì)象深入分析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)

1、深入分析ADO.NET中的DataSet對(duì)象  ADO.NET是.NetFrameWorkSDK中用以操作數(shù)據(jù)庫(kù)的類庫(kù)的總稱。而DataSet類則是ADO.NET中最核心的成員之一,也是各種開(kāi)發(fā)基于.Net平臺(tái)程序語(yǔ)言開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序最常接觸的類。之所以DataSet類在ADO.NET中具有特殊的地位,是因?yàn)镈ataSet在ADO.NET實(shí)現(xiàn)從數(shù)據(jù)庫(kù)抽取數(shù)據(jù)中起到關(guān)鍵作用,在從數(shù)據(jù)庫(kù)完成數(shù)據(jù)抽取后,DataSet就是數(shù)據(jù)的存放地,它是各種數(shù)據(jù)源中的數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中映射成的緩存,所以有時(shí)說(shuō)DataSe

2、t可以看成是一個(gè)數(shù)據(jù)容器。同時(shí)它在客戶端實(shí)現(xiàn)讀取、更新數(shù)據(jù)庫(kù)等過(guò)程中起到了中間部件的作用(DataReader只能檢索數(shù)據(jù)庫(kù)中的數(shù)據(jù))。  各種.Net平臺(tái)開(kāi)發(fā)語(yǔ)言開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序,一般并不直接對(duì)數(shù)據(jù)庫(kù)操作(直接在程序中調(diào)用存儲(chǔ)過(guò)程等除外),而是先完成數(shù)據(jù)連接和通過(guò)數(shù)據(jù)適配器填充DataSet對(duì)象,然后客戶端再通過(guò)讀取DataSet來(lái)獲得需要的數(shù)據(jù),同樣更新數(shù)據(jù)庫(kù)中數(shù)據(jù),也是首先更新DataSet,然后再通過(guò)DataSet來(lái)更新數(shù)據(jù)庫(kù)中對(duì)應(yīng)的數(shù)據(jù)的。可見(jiàn)了解、掌握ADO.NET,首先必須了解、掌握Da

3、taSet。DataSet主要有三個(gè)特性:  1.獨(dú)立性。DataSet獨(dú)立于各種數(shù)據(jù)源。微軟公司在推出DataSet時(shí)就考慮到各種數(shù)據(jù)源的多樣性、復(fù)雜性。在.Net中,無(wú)論什么類型數(shù)據(jù)源,它都會(huì)提供一致的關(guān)系編程模型,而這就是DataSet。  2.離線(斷開(kāi))和連接。DataSet既可以以離線方式,也可以以實(shí)時(shí)連接來(lái)操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)。這一點(diǎn)有點(diǎn)像ADO中的RecordSet。  3.DataSet對(duì)象是一個(gè)可以用XML形式表示的數(shù)據(jù)視圖,是一種數(shù)據(jù)關(guān)系視圖?! ∫?DataSet對(duì)象的結(jié)構(gòu)模型及和

4、RecordSet的比較  雖說(shuō)ADO.NET是ADO在.Net平臺(tái)下得后繼版本,但二者的區(qū)別是很大的。突出表現(xiàn)在ADO中的RecordSet對(duì)象和ADO.NET中的DataSet對(duì)象。RecordSet其實(shí)也是非常靈活的一個(gè)對(duì)象,微軟公司推出它也是煞費(fèi)苦心,如:RecordSet可以離線操作數(shù)據(jù)庫(kù),性能優(yōu)良,效率較高等等這些都讓當(dāng)時(shí)的程序員為之一振。RecordSet雖然已經(jīng)很復(fù)雜,但DataSet卻比RecordSet復(fù)雜的多,我們知道每一DataSet往往是一個(gè)或多個(gè)DataTable對(duì)象的集合,

5、這些對(duì)象由數(shù)據(jù)行和數(shù)據(jù)列以及主鍵、外鍵、約束和有關(guān)DataTable對(duì)象中數(shù)據(jù)的關(guān)系信息組成。而RecordSet只能存放單張數(shù)據(jù)表,雖然這張數(shù)據(jù)表可以由幾張數(shù)據(jù)表JOIN生成。所以有些時(shí)候說(shuō),RecordSet更類似于DataSet中的DataTable。DataSet對(duì)象的結(jié)構(gòu)模型如圖01所示:圖01:DataSet對(duì)象的結(jié)構(gòu)模型圖  通過(guò)圖01可見(jiàn)在DataSet對(duì)象結(jié)構(gòu)還是非常復(fù)雜的,在DataSet對(duì)象的下一層中是DataTableCollection對(duì)象、DataRelationCollec

6、tion對(duì)象和ExtendedProperties對(duì)象。上文已經(jīng)說(shuō)過(guò),每一個(gè)DataSet對(duì)象是由若干個(gè)DataTable對(duì)象組成。DataTableCollection就是管理DataSet中的所有DataTable對(duì)象。表示DataSet中兩個(gè)DataTable對(duì)象之間的父/子關(guān)系是DataRelation對(duì)象。它使一個(gè)DataTable中的行與另一個(gè)DataTable中的行相關(guān)聯(lián)。這種關(guān)聯(lián)類似于關(guān)系數(shù)據(jù)庫(kù)中數(shù)據(jù)表之間的主鍵列和外鍵列之間的關(guān)聯(lián)。DataRelationCollection對(duì)象就是管

7、理DataSet中所有DataTable之間的DataRelation關(guān)系的。在DataSet中DataSet、DataTable和DataColumn都具有ExtendedProperties屬性。ExtendedProperties其實(shí)是一個(gè)屬性集(PropertyCollection),用以存放各種自定義數(shù)據(jù),如生成數(shù)據(jù)集的SELECT語(yǔ)句等。  二.使用DataSet:  DataSet其實(shí)就是數(shù)據(jù)集,上文已經(jīng)說(shuō)過(guò)DataSet是把數(shù)據(jù)庫(kù)中的數(shù)據(jù)映射到內(nèi)存緩存中的所構(gòu)成的數(shù)據(jù)容器,對(duì)于任何數(shù)據(jù)源

8、,它都提供一致的關(guān)系編程模型。在DataSet中既定義了數(shù)據(jù)表的約束關(guān)系以及數(shù)據(jù)表之間的關(guān)系,還可以對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行排序等。DataSet使用方法一般有三種:  1.把數(shù)據(jù)庫(kù)中的數(shù)據(jù)通過(guò)DataAdapter對(duì)象填充DataSet。?  2.通過(guò)DataAdapter對(duì)象操作DataSet實(shí)現(xiàn)更新數(shù)據(jù)庫(kù)?! ?.把XML數(shù)據(jù)流或文本加載到DataSet。  下面就來(lái)詳細(xì)探討以上DataSet使用方法的具體實(shí)現(xiàn),使用語(yǔ)言是C#。  1.把

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。