999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ADO與ADO.NET數據庫訪問技術比較與分析

2013-08-16 06:28:36
科技視界 2013年1期
關鍵詞:數據庫

薛 源

(同濟大學,中國上海200093)

0 引言

ASP.NET 是Microsoft.NET 平臺下的一部分。 它實現了Web 應用程序的快速開發。 其中連接數據庫的主流技術是通過ADO.NET 或ADO 實現的。本文基于ASP.NET 框架,介紹ADO 和ADO.NET 兩種數據庫訪問技術,然后就進行分析和研究。

1 ADO 技術簡介

1.1 ADO 技術

ActiveX Data Objects (ADO)是微軟的一種數據訪問技術。 它被設計用來和數據訪問層OLE DB Provider 一起協同工作, 以提供通用數據訪問(Univer-sal Data Access)。 OLE DB 是一個低層的數據訪問接口,并基于微軟公司的COM 技術,用它可以訪問各種數據源,其模型如圖1 所示。ADO 的3 個主要組成對象是:Connection、RecordSet 和Command。

圖1 ADO 工作原理圖

(1)Connection 對象: 用于表示和數據源的連接,以及處理一些命令和事物。

(2)Command 對象:用于執行某些命令來進行諸如查詢、修改數據庫結構的操作,并將返回結果存在Recordset 對象中。 也可以進行批操作和操縱數據庫的結構, 當然, 這需要使用的OLE DB Provider 提供相應的支持。 此外,可以將一個激活的Connection 對象綁定到Command 對象的ActiveConnection 屬性, 這使得多個Command 對象實例可以共用一個Connection 對象。

(3)RecordSet 對象:用于處理數據源的表格集,它是在表中修改、檢索數據的最主要的方法。 這些結果由數據的行(記錄)和列(字段)組成。

ADO 的幾個對象間的關系結構圖如圖2 所示。

圖2 ADO 結構圖

使用ADO 訪問數據元的特點可以概括如下:

(1)易于使用,可以說這是ADO 最重要的特點之一。

(2)ADO 是高層數據庫訪問技術,相對與ODBC 來說,具有面向對象的特點。

(3)在ADO 對象結構中,對象與對象之間的層次結構不是非常明顯,這會給編寫數據庫程序帶來更多的便利。比如,在應用程序中如果要使用記錄集對象,不一定要先建立連接、回話對象,如果需要就可以直接構造記錄集對象。

(4)可以訪問多種數據源。 和OLE DB 一樣,使應用程序具有很好的通用性和靈活性。

1.2 ASP.NET 中使用ADO 數據庫訪問技術

在ASP.NET 中使用ADO 時,首先要注意下面兩點:

(1)將set objCnn=server.CreateObject(″ADODB.Connection″)

Set objRS=server.CreateObject(″ADODB.Recordset″)

改成:objCnn=server.CreateObject(″ADODB.Connection″)

...

objRS=server.CreateObject(″ADODB.Recordset″)

(2)為了在ASP.NET 網頁里調用、使用STA(Single Thread Apartment) 的COM 組件, 程序必須在<% @Page...>前導指令加上aspcompat=”true”屬性;其余便和ASP 網頁使用ADO 一樣。 下面以一范例部分代碼為示例。

2 ADO.NET 技術簡介

2.1 ADO.NET 技術

ADO.NET 是對ADO 的繼承,是一個用來存取數據和信息的API。它提供與OLE DB 接口兼容的數據源的數據存取接口,應用程序可以使用ADO.NET 連接到這些數據源來獲取、 操縱和更新數據; 還提供SQLServer 編程接口, 對SQL Server 數據庫訪問效率比OLE DB 接口訪問SQL Server 數據庫效率高。其模型如圖3 所示。ADO.NET 的核心組件主要有三類,即Connection、DataSet 和Command。另外還添加了許多新的對象和程序化接口, 如:DataAdapter、DataView、DataReader 等等。

圖3 ADO.NET 工作原理圖

(1)Connection 對象:Connection 對象在應用程序和數據庫之間建立連接。通過SQL Connection 對象建立與SQL Server 數據庫的鏈接到支持ADO Managed Provider 的數據來源。

(2)Command 對象:是設置SQL 命令、傳遞系統參數以及取得數據結果等,可以通過SQLCommand 對象直接操作SQLServer 數據庫,通過OLEDB Command 操作支持Managed Provider 的數據來源。

(3)DataSet 對象:DataSet 不是一個RecordSet, 而是類似數據庫(DataBase),在DataSet 中可以包含任意數量的數據表(DataTable),且每個表對應一個數據庫的數據表(Table)或視圖(View)。

(4)DataAdapter 對象: 它是提供連接DataSet 對象和數據源的橋梁,并且DataAdapter 使用Command 數據源中執行的SQL 命令,以便將數據加載到DataSet 中,并使對DataSet 中數據的更改與數據源保持一致。

ADO.NET 的幾個對象間的關系結構如圖4 所示。

圖4 ADO.NET 結構圖

2.2 ADO.NET 訪問技術的應用程序示例

下面是一個簡單的ADO.NET 應用程序, 它從數據源中的三個表中返回結果并將其輸出到窗口的DataGrid 中:

3 兩種技術之比較

ADO 與ADO.NET 既有相似也有區別,他們都能夠編寫對數據庫服務器中的數據進行訪問和操作應用程序,并且易于使用、速度快,內存支出低、 占用磁盤空間較少, 支持用于建立基于客戶端/服務器和Web 的應用程序的主要功能。但是,他們也具有以下四個方便的差異,而它們的差異,換句話說,也是ADO.NET 的優點所在。

(1)緩存中數據集的存儲形式。

ADO 中數據是以RecordSet 形式存儲, 它的數據來源于多個表,但在內存中選擇只能集中和顯示在一個表中;ADO.NET 中的數據集是DataSet,它在緩存中可以是一個或多個表的數據庫。

(2)脫機與連機關系。

ADO.NET 采用的是離線數據集(Disconnect DataSet),ADO.NET 利用XML 制作數據的一份副本(快照副本snapshot),它除了制作副本時在線,其他時間都是離線的。而ADO 卻是一直與服務器連著的在線型訪問,數據訪問代價比較大。

(3)標準化程度。

XML 對ADO 支持非常有限,而ADO.NET 的設計包含了被廣泛接受的XML 標準,用戶與Web 信息共享及異構應用數據交換。

(4)傳輸性能。

傳輸性能方面ADO.NET 更強。 ADO 基于COM 技術, 必須符合COM 的規范,而ADO.NET 基于XML 數據格式,數據類型更為豐富,它不需要由COM 編排而進行數據類型轉換。 另外防火墻通常配置只允許HTML 文本通過,因為DataSet 序列化格式是XML,所以防火墻可以允許DataSet 通過,阻擋ADO 的記錄集。

4 結束語

ADO.NET 是新型的DotNET 數據庫訪問技術接口,它支持工業技術標準,集合了所有用于數據處理的類。 這些類代表了數據容器對象,它們以典型的數據庫功能為特色,如索引、排序和瀏覽,且ADO.NET是DotNET 數據庫應用程序最終的解決方案,它以整體設計為特色,而不是以數據庫為核心的ADO 模型。 ADO.NET 集成了ADO 對象模型與OLE DB 接口,圖1 和圖3 結合起來,可以體現這一點。 所以,ADO.NET 訪問技術不僅在以上四個方面比ADO 強, 而且在功能上增進不少,尤其為Web 應用程序的設計提供了一個更穩定、更具有擴展性的數據庫存取技術,因此掌握ADO.NET 技術具有更深遠的意義。

[1]陳志泊.ASP.NET 數據庫應用程序開發教程[M].北京:人民郵電出版社,2005:86-87.

[2]廖信彥.ASP.NET 交互式Web 數據庫程序設計[M].北京:中國鐵道出版社,2003:102-138.

[3]田啟明.VB 中基于ADO 的數據庫訪問方法[J].電腦開發與應用,2004,17(6):33-34.

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 国产福利微拍精品一区二区| 自拍欧美亚洲| 日韩一区精品视频一区二区| 爱做久久久久久| 亚洲午夜综合网| 91精品伊人久久大香线蕉| 国产一在线| 久久99精品久久久久纯品| 青青操视频免费观看| 伊人丁香五月天久久综合| 午夜精品久久久久久久无码软件| 夜精品a一区二区三区| 国产91久久久久久| 秋霞一区二区三区| 丁香六月综合网| 国产一区二区免费播放| 亚洲午夜久久久精品电影院| 成人在线不卡视频| 99热线精品大全在线观看| 亚洲中文字幕在线精品一区| 久久久久亚洲精品成人网| 极品性荡少妇一区二区色欲| 首页亚洲国产丝袜长腿综合| 最新国产高清在线| 国产精品视频免费网站| 91区国产福利在线观看午夜 | 亚洲欧美自拍中文| 日韩a级毛片| 国产精品黑色丝袜的老师| 在线国产毛片手机小视频| 欧美一级爱操视频| 91色在线观看| 99热这里只有精品国产99| 国产黑丝一区| 久久动漫精品| 国产哺乳奶水91在线播放| 成人在线观看不卡| 国产资源站| 91丝袜美腿高跟国产极品老师| 色视频久久| 亚洲综合专区| 精品国产美女福到在线不卡f| 黄片在线永久| a免费毛片在线播放| 内射人妻无码色AV天堂| 国产二级毛片| 国产极品美女在线播放| 精品国产污污免费网站| 六月婷婷精品视频在线观看| 精品伊人久久大香线蕉网站| 999精品视频在线| 在线欧美日韩| 亚洲精品第五页| 免费A级毛片无码免费视频| 狠狠色狠狠综合久久| 日韩欧美国产精品| 日韩在线2020专区| 在线精品自拍| 国产亚洲精品自在线| 亚州AV秘 一区二区三区| 久久这里只有精品国产99| 亚洲无码高清视频在线观看| a级毛片免费看| 亚洲综合18p| 欧美特黄一免在线观看| 97国产在线观看| av一区二区三区在线观看| 国产在线精品99一区不卡| 免费一级成人毛片| 中国丰满人妻无码束缚啪啪| www.亚洲一区二区三区| 2021无码专区人妻系列日韩| 日本少妇又色又爽又高潮| 国产女人18毛片水真多1| 国产精品视频观看裸模| 99视频只有精品| 久久综合国产乱子免费| 国产99久久亚洲综合精品西瓜tv| 精品无码国产一区二区三区AV| A级全黄试看30分钟小视频| 国产精品网址你懂的| 精品超清无码视频在线观看|