圖文演示ADO.NET結(jié)構(gòu)
ADO.NET還是比較常用的,于是我研究了一下ADO.NET結(jié)構(gòu),在這里拿出來和大家分享一下,希望對大家有用。ADO.NET結(jié)構(gòu)包括兩個核心組件:DataSet和.NET Framework數(shù)據(jù)提供程序DataSet是ADO.NET的斷開式結(jié)構(gòu)的核心組件,為了實現(xiàn)獨立于任何數(shù)據(jù)源的數(shù)據(jù)訪問,可將其視為從數(shù)據(jù)庫檢索出的數(shù)據(jù)在內(nèi)存中的緩存。它包括一個或者多個DataTable對象的集合,這些對象由數(shù)據(jù)行,數(shù)據(jù)列及主鍵,外鍵,約束和有關(guān)DataTable對象中數(shù)據(jù)的關(guān)系信息組成。
#T#.NET Framework數(shù)據(jù)提供程序,為了實現(xiàn)數(shù)據(jù)操作和對數(shù)據(jù)的訪問。它提供的核心元素是Connection,Command, DataReader,DataAdapter對象。其中,Connection對象提供與數(shù)據(jù)庫的連接;Command對象能夠訪問用于返回數(shù)據(jù),修改數(shù)據(jù),運行存儲過程,以及發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫命令;DataReader對象從數(shù)據(jù)源中提供高性能的數(shù)據(jù)流。DataAdapter對象提供連接 DataSet對象和數(shù)據(jù)源的橋梁,使用Command對象在數(shù)據(jù)源中執(zhí)行SQL命令,以便將數(shù)據(jù)加載到DataSet中,并使對DataSet中的數(shù)據(jù)更改與數(shù)據(jù)源保持一致。ADO.NET結(jié)構(gòu)數(shù)據(jù)訪問過程流程圖:

一種方式是直接和數(shù)據(jù)庫連接,即使用Command對象訪問數(shù)據(jù)庫。采用這種方式是通過DataReader對象讀取數(shù)據(jù),然后利用 Response.Write顯示數(shù)據(jù)。這種方式的優(yōu)點是不用占用額外的內(nèi)存,而是讀取數(shù)據(jù)的速度比較快,但是,需要編寫的程序代碼比較長。
另一種方式是將數(shù)據(jù)緩存DataSet中,即使用DataAdapter對象訪問數(shù)據(jù)庫。采用這種方式是通過配合DataSet對象所提供的接口,利用DataGrid對象直接顯示數(shù)據(jù)。這種方式的優(yōu)點是所需要編寫的代碼比較少,但是需要占用額外的內(nèi)存,并且讀取數(shù)據(jù)的速度相對前一種方式比較慢。