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

ADO與ADO.NET數(shù)據(jù)庫訪問技術(shù)比較與分析

2013-08-16 06:28:36
科技視界 2013年1期
關(guān)鍵詞:數(shù)據(jù)庫

薛 源

(同濟(jì)大學(xué),中國上海200093)

0 引言

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

1 ADO 技術(shù)簡介

1.1 ADO 技術(shù)

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

圖1 ADO 工作原理圖

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

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

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

ADO 的幾個對象間的關(guān)系結(jié)構(gòu)圖如圖2 所示。

圖2 ADO 結(jié)構(gòu)圖

使用ADO 訪問數(shù)據(jù)元的特點可以概括如下:

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

(2)ADO 是高層數(shù)據(jù)庫訪問技術(shù),相對與ODBC 來說,具有面向?qū)ο蟮奶攸c。

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

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

1.2 ASP.NET 中使用ADO 數(shù)據(jù)庫訪問技術(shù)

在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 網(wǎng)頁里調(diào)用、使用STA(Single Thread Apartment) 的COM 組件, 程序必須在<% @Page...>前導(dǎo)指令加上aspcompat=”true”屬性;其余便和ASP 網(wǎng)頁使用ADO 一樣。 下面以一范例部分代碼為示例。

2 ADO.NET 技術(shù)簡介

2.1 ADO.NET 技術(shù)

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

圖3 ADO.NET 工作原理圖

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

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

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

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

ADO.NET 的幾個對象間的關(guān)系結(jié)構(gòu)如圖4 所示。

圖4 ADO.NET 結(jié)構(gòu)圖

2.2 ADO.NET 訪問技術(shù)的應(yīng)用程序示例

下面是一個簡單的ADO.NET 應(yīng)用程序, 它從數(shù)據(jù)源中的三個表中返回結(jié)果并將其輸出到窗口的DataGrid 中:

3 兩種技術(shù)之比較

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

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

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

(2)脫機(jī)與連機(jī)關(guān)系。

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

(3)標(biāo)準(zhǔn)化程度。

XML 對ADO 支持非常有限,而ADO.NET 的設(shè)計包含了被廣泛接受的XML 標(biāo)準(zhǔn),用戶與Web 信息共享及異構(gòu)應(yīng)用數(shù)據(jù)交換。

(4)傳輸性能。

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

4 結(jié)束語

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

[1]陳志泊.ASP.NET 數(shù)據(jù)庫應(yīng)用程序開發(fā)教程[M].北京:人民郵電出版社,2005:86-87.

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

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

猜你喜歡
數(shù)據(jù)庫
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
兩種新的非確定數(shù)據(jù)庫上的Top-K查詢
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
數(shù)據(jù)庫
財經(jīng)(2015年3期)2015-06-09 17:41:31
數(shù)據(jù)庫
財經(jīng)(2014年21期)2014-08-18 01:50:18
數(shù)據(jù)庫
財經(jīng)(2014年6期)2014-03-12 08:28:19
數(shù)據(jù)庫
財經(jīng)(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 国产精品香蕉在线观看不卡| 国产成人精品视频一区二区电影| 97se亚洲综合在线韩国专区福利| a级毛片免费播放| 亚洲无码电影| 中文国产成人精品久久一| 日韩欧美国产中文| 色综合五月| 在线欧美日韩国产| 国产一区二区三区在线精品专区 | 久久国产精品嫖妓| 狠狠综合久久久久综| 色综合天天综合中文网| 亚洲精品无码AⅤ片青青在线观看| 国产十八禁在线观看免费| 99精品国产电影| 久久久久国产一级毛片高清板| 国产青榴视频在线观看网站| 日本国产在线| а∨天堂一区中文字幕| 久久综合色天堂av| 嫩草在线视频| 亚洲男人天堂久久| 国产美女免费| 国产午夜无码专区喷水| 亚洲性影院| 亚洲色图在线观看| 手机精品视频在线观看免费| 亚洲精品视频免费看| 高清精品美女在线播放| 国产高清在线精品一区二区三区 | 2020精品极品国产色在线观看| 99视频精品全国免费品| 欧美精品v| 天天摸夜夜操| 制服丝袜无码每日更新| 91福利一区二区三区| 99热最新在线| 高潮毛片免费观看| 97国产在线视频| 无码精品一区二区久久久| 亚洲欧美日韩天堂| 高清久久精品亚洲日韩Av| 久久婷婷六月| 九九精品在线观看| 欧美日韩高清在线| 成年人国产视频| 久久男人资源站| 久久综合色88| 国产精品自在拍首页视频8| 在线观看国产精品第一区免费| 亚洲激情区| 伊人91在线| 成人福利在线免费观看| 久久久久久尹人网香蕉 | 四虎永久在线精品影院| 色婷婷成人网| 久久综合五月婷婷| 在线观看无码a∨| 青青青伊人色综合久久| 欧美日本激情| 另类欧美日韩| 日本道综合一本久久久88| 青青极品在线| 四虎永久免费在线| 99久久亚洲综合精品TS| 免费在线一区| 天天摸夜夜操| 久久黄色一级视频| 亚洲国产成人精品青青草原| 18黑白丝水手服自慰喷水网站| 少妇精品在线| 22sihu国产精品视频影视资讯| 黄色国产在线| 国产精品午夜福利麻豆| 国产剧情一区二区| 久久中文字幕不卡一二区| 亚洲首页在线观看| 台湾AV国片精品女同性| a级毛片免费看| 精品国产自在在线在线观看| 伊人AV天堂|