摘要:為了更方便地實現Web頁面對服務器端數據庫的訪問,這里總結了ADO.NET數據庫連接和操作對象的功能、使用方法等。
關鍵詞:ADO.NET 數據庫技術 ASP
一、前言
隨著Internet的崛起,因特網的應用正滲透到社會的各行各業,人們對提供文本、圖像和聲音的網站有了越來越高的要求。如網上的在線購物、電子商務、電子圖書的瀏覽和網上經常可見的網頁計數器、問題討論區、留言板、聊天室和會員登錄等等,都需要通過簡單的Web頁面訪問服務器端的數據庫,這是由交互性的Web應用程序來完成的。ASP.NET是一種全新的服務器端網頁技術,它利用ADO.NET,提供了平臺互用性和可伸縮的數據訪問,能夠為數據訪問、登錄安全、向導導航等提供功能強大的支持。
二、ADO.NET對象模型
圖1 ADO.NET對象模型
ADO.NET對象模型為開發人員開發提供了在Internet上使用高效多層數據庫應用程序的手段。圖1為ADO.NET對象模型,左邊是連接對象模型,右邊是無連接對象模型。
ADO.NET有五個數據庫連接和操作對象,分別為Connection對象、Command對象、DataReader對象、DataAdapter對象以及DataSet對象。
1、Connection對象
Connection對象,用于建立與數據源間的連接。對數據庫來說,Connection對象還負責初始化數據庫。.NET框架中有三種Connection對象:一是OleDb-Connection,用于大多數的數據庫連接;一是SqlCon-nection,是MS開發的專門用于SQL Server的連接;第三種是OdbcConnection,用于訪問ODBC數據庫。在創建Connection對象之前,你必須先引用Syste m.Data.OleDb或者System.Data.SqlClient或者System.Data.Odbc和System.Data等命名空間。
2、Command對象
Command對象可以對數據源進行操作,執行SQL命令來插入、刪除、更新和查詢數據表中記錄。在ASP.NET程序中需要先使用Connection對象建立數據庫連接后,才能使用Command對象執行SQL命令。和Connection對象一樣,.NET框架中也有三類Command對象,分別是OleDbCommand、SqlCommand和OdbcCommand等,分別實現對不同的數據庫的操作。
3、DataReader對象
在ASP.NET中DataReader對象可以從數據源使用Command對象執行命令,獲取“只讀(Read-Only)”或“只能向前(Forword-Only)”的流數據,每次只能從數據源讀取一條記錄到內存,所以執行效率非常高。該對象分三類:OleDbDataReader、SqlDataReader和OdbcDataReader等,分別實現對不同的數據庫的操作。
4、DataAdapter對象
DataAdapter對象也稱為“數據適配器”,可以作為數據庫和無連接對象之間的橋梁。它可以把數據從數據源中讀到一個內存表中,以便離線使用數據;也可以把內存中的數據寫回到一個數據源中。兩種情況下使用的數據源可能相同,也可能不相同。而這兩種操作分別稱作填充(FILL)和更新(UPDATE)。它與無連接對象DataSet配合使用,可以執行新增、查詢、修改和刪除等多種操作。根據數據庫類型不同,該對象分為兩類:OleDbDataAdapter、SqlDataAdapter和OdbcDataAdapter等。
5、DataSet對象
DataSet是ADO.NET中最核心的成員之一,使用DataAdapter對象抽取的數據存放在DataSet對象中,所以可以認為DataSet是存放數據的容器。.Net平臺開發數據庫應用程序,一般并不直接對數據庫操作,而是先完成數據連接和通過DataAdapter填充DataSet對象,然后客戶端再通過讀取DataSet來獲得需要的數據;更新數據庫中數據,也是首先更新DataSet,然后再利用DataSet來更新數據庫中的數據。
三、數據庫的連接
ASP.NET中可以利用連接控件實現數據庫連接:
1、連接Access數據庫
如果連接Access數據庫,在頁面上添加AccessDataSource數據庫連接控件,然后“配置數據源”,選擇數據庫,設置數據源。
2、連接Sql Server數據庫
如果連接Sql Server數據庫,在頁面上添加SqlDataSource數據庫連接控件,其他過程與Access庫連接過程相同。
四、結語
ADO.NET數據庫技術具有的優點是:①能夠進行面向無連接的數據庫操作,有利于實現分布式數據庫管理;②提供了平臺互用性和可伸縮的數據訪問;③允許和不同類型的數據源以及數據庫進行交互等。
參考文獻:
[1]于倩; 羅靜; ASP.NET中ADO.NET對數據庫的管理[J],微計算機應用,2004(03)
[2]孔延香; 李永忠; 郭秀峰;ADO.NET數據庫訪問技術研究與實現,現代電子技術, 2005(16)