具體剖析ADO.NET體系結構
對于ADO.NET體系結構的學習,首先碰到的就是環境的配置。以前學的Visual Studio2003,但并沒有怎么用。所以有一個星期的時間基本是在用實踐著.net 1.0,大大影響了工作效率。
連接模式(Connected Mode)和非連接模式(Disconnected Mode)。運用過ADO.NET體系結構的開發人員對前一種模式應該是非常熟悉的,而后一種模式則是ADO.NET才具有的。相比于傳統的數據庫訪問模式,非連接的模式為應用程序提供了更大的可升級性和靈活性。在該模式下,一旦應用程序從數據源中獲得所需的數據,它就斷開與原數據源的連接,并將獲得的數據以XML的形式存放在主存中。在應用程序處理完數據后,它再取得與原數據源的連接并完成數據的更新工作。
ADO.NET中的DataSet類是非連接模式的核心,數據集對象(DataSet)是以XML的形式存放數據。ADO.NET體系結構應用程序既可以從一個數據庫中獲取一個數據集對象,也可以從一個XML數據流中獲取一個數據集對象。而從用戶的角度來看,數據源在哪里并不重要,也是無需關心的。這樣一個統一的編程模型就可被運用于任何使用了數據集對象的應用程序。
ADO.NET體系結構中還有一個非常重要的部分就是數據提供者對象(Data Provider),它是訪問數據庫的必備條件。ADO.NET體系結構通過它應用程序可以產生相應的數據集對象;同時它還提供了連接模式下的數據庫訪問支持。圖1描述了ADO.NET總體的體系結構。
ADO.NET的數據訪問技術的架構。ADO.NET支持SQL Server數據訪問和OLE DB數據訪問。兩者相比,前者是針對SQL Server的數據庫訪問引擎,所以訪問SQL Server數據庫效率會高許多,但只支持SQL Server。后者是比較通用的數據庫訪問引擎,可以支持廣泛的數據庫,但效率不如前者。#t#
對開發者來說,如果不用到某種數據庫的特性,其大體使用方法是一致的。ADO.NET體系結構數據庫的連接部分,Connetion對象。提供了與具體數據庫的連接方式,具體你是用SqlConnection對象還是OleDbConnection對象。
下面給出兩段典型的數據庫連接的例子。在此之前,請在程序頭部using處添加using System.Data.SqlClient或System.Data.OleDb,以保證數據庫訪問時用到的命名空間能引用。

















