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