設(shè)計ADO.NET 結(jié)構(gòu)教程與培訓(xùn)
原來上網(wǎng)我下了很多ADO.NET 結(jié)構(gòu)的Demo。而我用的是VS2005,我在使用這些小樣時,基本上絕大部分基于VS2005的Asp.net工程都因為少數(shù)文件無法轉(zhuǎn)換而無法加載工程,為此我也苦惱很久,后來終于讓我找到了解決辦法。
.NET Framework 數(shù)據(jù)提供程序
.NET Framework 數(shù)據(jù)提供程序是專門為數(shù)據(jù)處理以及快速地只進、只讀訪問數(shù)據(jù)而設(shè)計的組件。Connection 對象提供與數(shù)據(jù)源的連接。Command 對象使您能夠訪問用于返回數(shù)據(jù)、修改數(shù)據(jù)、運行存儲過程以及發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫命令。DataReader 從數(shù)據(jù)源中提供高性能的數(shù)據(jù)流。最后,DataAdapter 提供連接 DataSet 對象和數(shù)據(jù)源的橋梁。DataAdapter 使用 Command 對象在數(shù)據(jù)源中執(zhí)行 SQL 命令,ADO.NET 結(jié)構(gòu)以便將數(shù)據(jù)加載到 DataSet 中,并使對 DataSet 中數(shù)據(jù)的更改與數(shù)據(jù)源保持一致。
ADO.NET DataSet 專門為獨立于任何數(shù)據(jù)源的數(shù)據(jù)訪問而設(shè)計。因此,它可以用于多種不同的數(shù)據(jù)源,用于 XML 數(shù)據(jù),或用于管理應(yīng)用程序本地的數(shù)據(jù)。DataSet 包含一個或多個 DataTable 對象的集合,這些對象由數(shù)據(jù)行和數(shù)據(jù)列以及有關(guān) DataTable 對象中數(shù)據(jù)的主鍵、外鍵、約束和關(guān)系信息組成。
下圖說明 .NET Framework 數(shù)據(jù)提供程序與 DataSet 之間的關(guān)系。
ADO.NET 結(jié)構(gòu)
選擇 DataReader 或 DataSet
在決定應(yīng)用程序應(yīng)使用 DataReader(請參見使用 DataReader 檢索數(shù)據(jù))還是應(yīng)使用 DataSet(請參見在 ADO.NET 中使用 DataSet)時,應(yīng)考慮應(yīng)用程序所需的功能類型。DataSet 用于執(zhí)行以下功能:
在應(yīng)用程序中將數(shù)據(jù)緩存在本地,以便可以對數(shù)據(jù)進行處理。如果只需要讀取查詢結(jié)果,DataReader 是更好的選擇。ADO.NET 結(jié)構(gòu)在層間或從 XML Web 服務(wù)對數(shù)據(jù)進行遠程處理。與數(shù)據(jù)進行動態(tài)交互,例如綁定到 Windows 窗體控件或組合并關(guān)聯(lián)來自多個源的數(shù)據(jù)。#t#
對數(shù)據(jù)執(zhí)行大量的處理,而不需要與數(shù)據(jù)源保持打開的連接,ADO.NET 結(jié)構(gòu)從而將該連接釋放給其他客戶端使用。如果不需要 DataSet 所提供的功能,則可以使用 DataReader 以只進、只讀方式返回數(shù)據(jù),從而提高應(yīng)用程序的性能。雖然 DataAdapter 使用 DataReader 來填充 DataSet 的內(nèi)容(請參見從 DataAdapter 填充 DataSet),但可以使用 DataReader 來提高性能,因為這樣可以節(jié)省 DataSet 所使用的內(nèi)存,并將省去創(chuàng)建 DataSet 并填充其內(nèi)容所需的處理。