ADO.NET提供了用于訪問和操作數據的兩個主要組件是 .NET Framework 數據提供程序和 DataSet。
一、 .NET Framework 數據提供程序
.NET Framework 數據提供程序包含用于訪問各種數據源的數據對象,是專門為數據處理以及快速、只進、只讀訪問數據而設計的組件。使用這些數據處理程序可以對數據庫中的數據進行檢索,查詢,更新,修改等操作。目前有4種類型的數據提供程序,具體使用哪種數據提供程序,要根據使用什么數據庫來確定。
.NET Framework 數據提供程序如下:
* OLE DB .NET Framework 數據提供程序。使用System.Data.OleDb命令空間,適合使用OLE DB作為數據源的訪問。
* ODBC .NET Framework 數據提供程序。使用System.Data.Odbc命令空間,適合使用ODBC作為數據源的訪問。
* SQL Server .NET Framework 數據提供程序。使用System.Data.SQLClient命令空間,適合對SQL Server 7.0版及以上版本數據庫訪問。
* Oracle .NET Framework 數據提供程序。使用System.Data.OracleClient命令空間,適合對 Oracle 作為數據源的訪問。
而每種.NET數據提供程序都包含了以下4種對象。
* Connection對象:提供與數據源的連接。
* DataAdapter對象:提供連接DataSet對象和數據源的橋梁,可執行對數據源的各種操作。
* Command對象:提供對數據庫命令的訪問,這些命令可用于返回數據、修改數據、運行存儲過程、發送或檢索參數信息。
* DataReader對象:從數據源中提供高性能的數據流,從數據源中讀取只能向前和只讀的數據流。
二、數據集(DataSet)
ADO.NET數據集(DataSet)是專門為獨立于任何數據源的數據訪問而設計的,相當于遠程數據庫的副本,使用它可以不直接和數據庫打交道,可以大批量操作數據,也可將數據綁定到控件上。
DataSet數據集是ADO.NET的斷開式結構的核心組件,它在與數據源斷開的緩存中存儲數據,從而實現了獨立于任何數據源的數據訪問。因此,它可以用于多種不同的數據源,包括XML數據源、遠程的或本地的數據庫。DataSet包含一個或多個DataTable對象的集合,每個DataTable對象包含DataRow對象、DataColumn對象和Constraint對象,分別存放數據表的行信息、列信息及約束信息。此外DataSet對象還包含DataRelation對象,用于表示表間關系。
下圖闡釋了 .NET Framework 數據提供程序和 DataSet 之間的關系。
ADO.NET結構
在決定應用程序應使用 DataReader還是應使用 DataSet時,應考慮應用程序所需的功能類型。使用 DataSet 可執行以下操作:
◆在應用程序中將數據緩存在本地,以便可以對數據進行處理。如果只需要讀取查詢結果,則 DataReader 是更好的選擇。
◆在層間或從 XML Web 服務對數據進行遠程處理。
◆與數據進行動態交互,例如綁定到 Windows 窗體控件或組合并關聯來自多個源的數據。
◆對數據執行大量的處理,而不需要與數據源保持打開的連接,從而將該連接釋放給其他客戶端使用。
如果不需要 DataSet 所提供的功能,則可以通過使用 DataReader 以只進、只讀方式返回數據,從而提高應用程序的性能。雖然 DataAdapter 使用 DataReader 來填充 DataSet 的內容,但使用 DataReader 可以提升性能,因為這樣可以節省 DataSet 所使用的內存,并將省去創建 DataSet 并填充其內容所需的處理。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
