詳述ADO.NET組件使用說(shuō)明
各種ADO.NET組件平臺(tái)開發(fā)語(yǔ)言開發(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ù)。
ADO.NET中的DataSet組件
ADO.NET組件的又一個(gè)重要組成部分,它同時(shí)也是ADO.NET與之前的所有數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)的本質(zhì)區(qū)別。DataSet允許從數(shù)據(jù)庫(kù)中檢索到的數(shù)據(jù)存放在內(nèi)存中,因?yàn)檫@個(gè)特點(diǎn),它解決了兩個(gè)重要問(wèn)題,首先編程模型與數(shù)據(jù)源獨(dú)立,其次是讓ADO.NET能支持離線訪問(wèn)。
DataTable dt = dataSet1.Tables[0]; //dataSet1中的***張表 |
前面幾節(jié)已經(jīng)使用過(guò)DataSet,但并未深入講解。DataSet的結(jié)構(gòu)類似于關(guān)系型數(shù)據(jù)庫(kù),它包含的組成部分有表的對(duì)象DataTable和表之間的關(guān)系DataRelation。其中DataTable又包含DataColumn(表的一列)和DataRow(表的一行),如下所示。#t#
DataRelation包含ChildRelations(子關(guān)系)和ParentRelations(父關(guān)系)。ADO.NET組件具有多種訪問(wèn)形式,具體如下所示。因?yàn)樗慕Y(jié)構(gòu)和關(guān)系數(shù)據(jù)庫(kù)類似,且支持表操作,所以可以像訪問(wèn)關(guān)系數(shù)據(jù)庫(kù)一樣訪問(wèn)它,包括表的添加、刪除和檢索以及表中數(shù)據(jù)的添加、刪除、修改和更新等。用集合的方法進(jìn)行訪問(wèn)。采用訪問(wèn)XML格式的相同方法訪問(wèn)DataSet,這項(xiàng)內(nèi)容將會(huì)在后面講到XML的時(shí)候具體講解。
![]() |
圖14-26 DataSet的分類 |