ADO.NET還是比較常用的,于是我研究了一下ADO.NET結(jié)構(gòu),在這里拿出來(lái)和大家分享一下,希望對(duì)大家有用。ADO.NET結(jié)構(gòu)包括兩個(gè)核心組件:DataSet和.NET Framework數(shù)據(jù)提供程序DataSet是ADO.NET的斷開(kāi)式結(jié)構(gòu)的核心組件,為了實(shí)現(xiàn)獨(dú)立于任何數(shù)據(jù)源的數(shù)據(jù)訪(fǎng)問(wèn),可將其視為從數(shù)據(jù)庫(kù)檢索出的數(shù)據(jù)在內(nèi)存中的緩存。它包括一個(gè)或者多個(gè)DataTable對(duì)象的集合,這些對(duì)象由數(shù)據(jù)行,數(shù)據(jù)列及主鍵,外鍵,約束和有關(guān)DataTable對(duì)象中數(shù)據(jù)的關(guān)系信息組成。
.NET Framework數(shù)據(jù)提供程序,為了實(shí)現(xiàn)數(shù)據(jù)操作和對(duì)數(shù)據(jù)的訪(fǎng)問(wèn)。它提供的核心元素是Connection,Command, DataReader,DataAdapter對(duì)象。其中,Connection對(duì)象提供與數(shù)據(jù)庫(kù)的連接;Command對(duì)象能夠訪(fǎng)問(wèn)用于返回?cái)?shù)據(jù),修改數(shù)據(jù),運(yùn)行存儲(chǔ)過(guò)程,以及發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫(kù)命令;DataReader對(duì)象從數(shù)據(jù)源中提供高性能的數(shù)據(jù)流。DataAdapter對(duì)象提供連接 DataSet對(duì)象和數(shù)據(jù)源的橋梁,使用Command對(duì)象在數(shù)據(jù)源中執(zhí)行SQL命令,以便將數(shù)據(jù)加載到DataSet中,并使對(duì)DataSet中的數(shù)據(jù)更改與數(shù)據(jù)源保持一致。ADO.NET結(jié)構(gòu)數(shù)據(jù)訪(fǎng)問(wèn)過(guò)程流程圖:
一種方式是直接和數(shù)據(jù)庫(kù)連接,即使用Command對(duì)象訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。采用這種方式是通過(guò)DataReader對(duì)象讀取數(shù)據(jù),然后利用 Response.Write顯示數(shù)據(jù)。這種方式的優(yōu)點(diǎn)是不用占用額外的內(nèi)存,而是讀取數(shù)據(jù)的速度比較快,但是,需要編寫(xiě)的程序代碼比較長(zhǎng)。
另一種方式是將數(shù)據(jù)緩存DataSet中,即使用DataAdapter對(duì)象訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。采用這種方式是通過(guò)配合DataSet對(duì)象所提供的接口,利用DataGrid對(duì)象直接顯示數(shù)據(jù)。這種方式的優(yōu)點(diǎn)是所需要編寫(xiě)的代碼比較少,但是需要占用額外的內(nèi)存,并且讀取數(shù)據(jù)的速度相對(duì)前一種方式比較慢。
聯(lián)系客服