溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ADO.NET DataAdapter類(lèi)型有什么作用

發(fā)布時(shí)間:2021-12-02 16:04:25 來(lái)源:億速云 閱讀:167 作者:iii 欄目:編程語(yǔ)言

這篇文章主要講解了“ADO.NET DataAdapter類(lèi)型有什么作用”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“ADO.NET DataAdapter類(lèi)型有什么作用”吧!

DataAdapter對(duì)象充當(dāng)數(shù)據(jù)庫(kù)和ADO.NET對(duì)象模型中非連接對(duì)象之間的橋梁。DataAdapter對(duì)象類(lèi)的Fill方法提供了一種高效機(jī)制,用于將查詢(xún)結(jié)果引入DataSet或DataTable中,以便能夠脫機(jī)處理數(shù)據(jù)。還可以利用DataAdapter對(duì)象向數(shù)據(jù)庫(kù)提交存儲(chǔ)在DataSet對(duì)象中的掛起更改。

ADO.NET DataAdapter類(lèi)公開(kāi)了大量屬性,這些屬性實(shí)際上是Command對(duì)象。例如,SelectCommand屬性包含一個(gè)Command對(duì)象,該對(duì)象表示將用來(lái)填充DataSet對(duì)象的查詢(xún)。DataAdapter類(lèi)還有UpdateCommand,InsertCommand和DeleteCommand等屬性,它們分別對(duì)應(yīng)于用來(lái)向數(shù)據(jù)庫(kù)提交已修改數(shù)據(jù)行、新建數(shù)據(jù)行或被刪除數(shù)據(jù)行的Command對(duì)象。

這些Command對(duì)象提供了更新功能,在ADO和DAO的Recordset對(duì)象中,這些更新自動(dòng)進(jìn)行。例如,當(dāng)在ADO中運(yùn)行一個(gè)查詢(xún)以生成一個(gè)Recordset對(duì)象時(shí),ADO的游標(biāo)引擎就會(huì)詢(xún)問(wèn)數(shù)據(jù)庫(kù)中有關(guān)此查詢(xún)的元數(shù)據(jù),以確定結(jié)果來(lái)自哪里。然后ADO會(huì)使用該元數(shù)據(jù)建立更新邏輯,以將Recordset對(duì)象中的更改轉(zhuǎn)換為數(shù)據(jù)庫(kù)中的更改。

那么ADO.NET的DataAdapter對(duì)象為什么擁有單獨(dú)的UpdateCommand,InsertCommand和DeleteCommand屬性呢?這是為了允許開(kāi)發(fā)人員定義自己的更新邏輯。ADO和DAO的更新功能都十分有限,因?yàn)檫@兩種對(duì)象模型都將Recordset中的更改轉(zhuǎn)換為對(duì)數(shù)據(jù)庫(kù)中的表進(jìn)行直接引用的操作查詢(xún)。為了維護(hù)數(shù)據(jù)的安全性和完整性,許多數(shù)據(jù)庫(kù)管理員都限制對(duì)其數(shù)據(jù)庫(kù)中表的訪問(wèn),因此更改表內(nèi)容的***途徑就是調(diào)用存儲(chǔ)過(guò)程。

ADO.NET DataAdapter類(lèi)不知道如何使用存儲(chǔ)過(guò)程提交更改,也沒(méi)有提供可讓開(kāi)發(fā)人員指定自己更新邏輯的機(jī)制。ADO.NET DataAdapter則可以。

利用DataAdapter對(duì)象,可以設(shè)置UpdateCommand,InsertCommand以及DeleteCommand屬性來(lái)調(diào)用存儲(chǔ)過(guò)程,這些存儲(chǔ)過(guò)程將修改、添加或刪除數(shù)據(jù)庫(kù)中相應(yīng)表的數(shù)據(jù)行。然后可以只調(diào)用DataAdapter對(duì)象的Update方法,ADO.NET就會(huì)使用所創(chuàng)建的Command對(duì)象向數(shù)據(jù)庫(kù)提交DataSet中緩存的更改。

如前文所述,DataAdapter類(lèi)會(huì)填充DataSet對(duì)象中的表,而且能讀取緩存的更改并將其提交給數(shù)據(jù)庫(kù)。ADO.NET DataAdapter類(lèi)有一些支持屬性,可用來(lái)跟蹤在什么位置發(fā)生了什么操作。TableMappings集合就是其中的一個(gè)屬性,它用于跟蹤數(shù)據(jù)庫(kù)中的哪個(gè)表與DataSet對(duì)象中的哪個(gè)表相對(duì)應(yīng)。每個(gè)表映射都有一個(gè)用于映射列的類(lèi)似屬性,稱(chēng)為ColumnMapping集合。

感謝各位的閱讀,以上就是“ADO.NET DataAdapter類(lèi)型有什么作用”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)ADO.NET DataAdapter類(lèi)型有什么作用這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI