引言:在當今數據信息豐富的時代,計算機領域中使用數據庫來存儲信息和訪問信息,但是本身數據庫種類有很多,例如SQL
Server,Oracle,Access,MySql等,因此,如何能更加高效、更加方便地使用一種統一的數據訪問編程模型來對不同的數據庫的數據進行操作,此時,強大MS就為廣大的開發者提供了基於.NET平台的數據訪問編程模型ADO.NET。
1、學習背景: 在敲機房收費系統的時候,我們用到了SQLHelper,對於剛開始接觸SQLhelper的我來說,不知道這是什麼東東,只是聽說它是個自己編寫的一個類,一個提供對數據庫訪問的類,對於其它的,我就全然不知了。
2、刨根問底兒:學習SqlHelper,慢慢的我發現我又好多不懂的地方,在網上查找資料,問同學,最終我找到SqlHelper祖墳上來了——ADO.NET。
3、ADO.NET在MSDN上的定義:ADO.NET 是一組向 .NET Framework 程序員公開數據訪問服務的類。ADO.NET 類位於 System.Data.dll 中,並與 System.Xml.dll 中的 XML 類集成。ADO.NET 提供對諸如 SQL Server 和 XML 這樣的數據源以及通過 OLE DB 和 ODBC 公開的數據源的一致訪問。共享數據的使用方應用程序可以使用 ADO.NET 連接到這些數據源,並可以檢索、處理和更新其中包含的數據。
從一方面來對ADO.NET 來解釋的話,他就是一個類庫,一個封裝了對數據庫操作的類庫(增、刪、改、查)。我們在寫SQLHelper類的同時,需要引用其中的類,然後實例化它再使用。
大家都知道,要想對數據庫進行操作,必須先連上數據庫,然後才能對數據庫進行操作。那麼,我們通過ADO.NET怎樣才能連接上數據庫然後對其操作的哪?這就需要.NET最核心的組成部分了,一個是負責處理軟件內部的實際數據(DataSet),一組負責與外部數據系統通信(Data Provider)。具體架構如下圖所示:
3.1、DateSet
DataSet 是 ADO.NET 的非連接(斷開)結構的核心組件。DataSet 的設計目的很明確:為了實現獨立於任何數據源的數據訪問。因此,ADO.NET結構可以用於多種不同的數據源,用於 XML 數據,或用於管理應用程序本地的數據。DataSet 包含一個或多個 DataTable 對象的集合,這些對象由數據行和數據列以及主鍵、外鍵、約束和有關 DataTable 對象中數據的關系信息組成。
個人理解,我們在數據庫中查出來的信息就放在dateset中。dateset可以包含許多datatable。
3.2、Data Provider
3.21、Connection 對象:提供與數據源的連接。
3.22、Command對象:用於訪問數據、返回數據、修改數據、運行存儲過程以及發送或檢索參數信息的數據庫命
令。
3.23、DataReader 對象:從數據源中提供快速的,只讀的數據流。
3.24:、DataAdapter 對象提供連接 DataSet 對象和數據源的橋梁。DataAdapter 使用 Command 對象在數據源中執行 SQL 命令,以便將數據加載到 DataSet 中,並使對DataSet 中數據的更改與數據源保持一致。
有了這幾個對象,我們就可以利用它們操作數據庫了,這些對象好比看守數據庫的幾個人,我們將他們買通了(聲明並實例化),就可以對數據庫中的數據進行操作了。至於對這幾個對象的詳細解釋,請看我的下一篇博客。