簡介:本文主要討論了作為實現基本數據庫操作方法之一的ADO.NET,以及ADO.Net與ADO的基本比較
ADO.NET將成為構建數據感知 .NET應用程序的基礎. 不同於ADO 的是,ADO.NET更具有通用性,不是那麼專門針對數據庫而進行的設計. ADO.NET聚集了所有可以進行數據處理的類.這些類呈現了具有典型數據庫功能的data container objects,比如:索引,排序,浏覽.盡管ADO.NET是作為重要的.Net數據庫應用程序的解決方案,它更多的顯示了涵蓋全面的設計,而不僅是作為和ADO模型一樣的以數據庫為中心。.
ADO .NET與ADO有很大的不同.它是一個全新的訪問編程模型.當你開始使用ADO.Net時,你會發現你所掌握的任何關於ADO的技能在搭建有效的程序以及解決難題方面對你都會有很大幫助,能夠幫你在解決問題上朝更靈活更穩妥的方向發展.
ADO.NET不是ADO為適應.NET基礎構造而進行改進的版本.當你慢慢了解了ADO.Net的語法,代碼設計以及移植後,你就會清楚了.
1.Net中的數據訪問
訪問ADO.NET中的數據源是由托管提供程序所控制. 雖然托管提供程序與OLE DB有兩處重大的不同,但是二者是極為類似的.首先, 托管提供程序在.NET環境下運行,通過 DataReader 和DataTable .NET類來檢索和展示數據.第二,它們的體系結構都比較簡單,是因為為了適應.Net而進行了優化.
此時,ADO.Net分成兩種不同類型的托管提供程序:一種用於SQL Server? 7.0 或更高版本,另一種適用於所有你可能已經安裝的OLE DB 提供程序.雖然運用在兩種托管提供程序中的類是不同的,但它們卻都遵循相類似的命名方式.除開前綴之外,其它名稱都是相同的.前一種情況前綴為SQL, 後一種則是ADO.
你需要利用SQL類來訪問SQL Server 表,因為SQL類會跳過由OLE DB 提供程序呈現的中間層, 而直接進入數據庫服務器內部API. ADO類是位於OLE DB 提供程序頂端的.Net接口,利用COM Interop 橋來進行工作.
關於ADO.Net的入門知識,你可以讀讀Omri Gazitt's的文章,文章裡主要介紹了ADO+:
關於微軟..NET 框架的數據庫訪問服務(Data Access Services),而我的文章裡關於ADO+的論述主要指出了數據種類的進化.前者更純技術化,並提供了更高水平的關於ADO.NET編程模型的概述。後者主要是解釋ADO.NetR的目標,以及它與XML,腳本及其它技術的聯系.