中國最大的web開發資源網站及技術社區,
本文主要討論了作為實現基本數據庫操作方法之一的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,腳本及其它技術的聯系.