亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2013-08-16 06:28:36
        科技視界 2013年1期
        關(guān)鍵詞:數(shù)據(jù)源應(yīng)用程序對象

        薛 源

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

        0 引言

        ASP.NET 是Microsoft.NET 平臺下的一部分。 它實(shí)現(xiàn)了Web 應(yīng)用程序的快速開發(fā)。 其中連接數(shù)據(jù)庫的主流技術(shù)是通過ADO.NET 或ADO 實(shí)現(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 對象實(shí)例可以共用一個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ù)元的特點(diǎn)可以概括如下:

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

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

        (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 時,首先要注意下面兩點(diǎn):

        (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)點(diǎn)所在。

        (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 文本通過,因?yàn)镈ataSet 序列化格式是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)這一點(diǎ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ù)源應(yīng)用程序對象
        神秘來電
        睿士(2023年2期)2023-03-02 02:01:09
        刪除Win10中自帶的應(yīng)用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
        攻略對象的心思好難猜
        意林(2018年3期)2018-03-02 15:17:24
        基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價研究
        基于熵的快速掃描法的FNEA初始對象的生成方法
        區(qū)間對象族的可鎮(zhèn)定性分析
        基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價算法
        分布式異構(gòu)數(shù)據(jù)源標(biāo)準(zhǔn)化查詢設(shè)計與實(shí)現(xiàn)
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        亚洲一区二区国产一区| 亚洲色欲Aⅴ无码一区二区| 国产午夜精品久久久久| 日本淫片一区二区三区| 无码毛片内射白浆视频| 黑人巨大av在线播放无码 | 久久久久久亚洲av成人无码国产| 国产a v无码专区亚洲av| 中文字幕av无码一区二区三区电影| 不卡av一区二区在线| 久久精品国产亚洲av无码偷窥 | 亚州国产av一区二区三区伊在 | 中文字幕久久久久人妻无码| 人妻系列少妇极品熟妇| 无码精品国产一区二区三区免费| 亚洲色www成人永久网址| 国产欧美另类精品久久久| 国产一区二区不卡av| 日韩欧美aⅴ综合网站发布| 日韩精品一区二区亚洲av| 国产啪精品视频网站免| 久久麻传媒亚洲av国产| 内射人妻视频国内| 亚洲日本天堂| 午夜少妇高潮免费视频| 久久久99精品免费视频| 日出水了特别黄的视频| 日韩成人精品日本亚洲| 亚洲天码一区二区三区| 亚洲日韩久久综合中文字幕| 国内免费AV网站在线观看| 超短裙老师在线观看一区| 日本不卡高字幕在线2019| 少妇人妻偷人精品视频| 91热爆在线精品| 久久精品一区二区三区蜜桃| 中文字幕在线精品视频入口一区| 91亚洲国产成人aⅴ毛片大全| 91中文在线九色视频| 国产精品99精品久久免费| 精精国产xxxx视频在线|