圖示法進(jìn)行ADO.NET對(duì)象模型說(shuō)明
許多VS開(kāi)發(fā)人員似乎都這么想,認(rèn)為所有的Oracle的東西在編寫(xiě)時(shí)都考慮的是Java,并沒(méi)有考慮到Windows APIs,看看在Oracle技術(shù)網(wǎng)站上Windows開(kāi)發(fā)中心提供的所有內(nèi)容吧。我們是很積極主動(dòng)的。
在了解ADO.NET對(duì)象模型的用途以及它在整個(gè)Visual Studio 體系結(jié)構(gòu)中所處的位置之后,現(xiàn)在來(lái)更深入地了解這一技術(shù)。本章將簡(jiǎn)要介紹ADO.NET對(duì)象模型,以及它與微軟先前數(shù)據(jù)訪問(wèn)技術(shù)的區(qū)別。
設(shè)計(jì)ADO.NET的目的就是為了幫助開(kāi)發(fā)人員開(kāi)發(fā)在Intranet和Internet上使用的高效多層數(shù)據(jù)庫(kù)應(yīng)用程序,而且ADO.NET對(duì)象模型也提供了這樣的手段。圖1.1顯示了包含ADO.NET對(duì)象模型的類(lèi)。中間的虛線將對(duì)象模型分為兩部分。虛線左邊的對(duì)象是連接對(duì)象。這些對(duì)象直接與數(shù)據(jù)庫(kù)通信,以管理連接和事務(wù),以及從數(shù)據(jù)庫(kù)檢索數(shù)據(jù)和向數(shù)據(jù)庫(kù)提交所做的更改。虛線右邊的對(duì)象是非連接對(duì)象,允許用戶脫機(jī)處理數(shù)據(jù)。
由ADO.NET對(duì)象模型中非連接部分組成的對(duì)象不與連接對(duì)象直接通信。這是對(duì)微軟先前數(shù)據(jù)訪問(wèn)對(duì)象模型的一個(gè)重要修改。在ADO中,Recordset對(duì)象存儲(chǔ)查詢的結(jié)果??梢哉{(diào)用其Open方法以提取查詢結(jié)果,調(diào)用其Update(或UpdateBatch)方法,以向數(shù)據(jù)庫(kù)提交存儲(chǔ)在Recordset中的修改。#t#
稍后討論的ADO.NET DataSet(數(shù)據(jù)集)在功能上與ADO Recordset相當(dāng)。但是DataSet不與數(shù)據(jù)庫(kù)進(jìn)行通信。為了從數(shù)據(jù)庫(kù)提取數(shù)據(jù)并放入DataSet中,可以將DataSet傳遞給一個(gè)已連接ADO.NET對(duì)象(DataAdapter)的Fill方法。與此類(lèi)似,為了向數(shù)據(jù)庫(kù)提交存儲(chǔ)在DataSet中的掛起更改,可以將DataSet傳遞給DataAdapter對(duì)象的Update方法。