亚洲免费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
        神马影院午夜dy888| 人妻精品一区二区免费| 国产一区二三区中文字幕| 国产内射一级一片内射视频| 国产农村妇女精品一二区| 免费一区二区三区久久| 亚洲AV专区一专区二专区三| 日日麻批免费高清视频| 丰满的人妻hd高清日本| 日本一区午夜艳熟免费| 欧美日韩亚洲国产无线码| 国产精品伦理久久一区| 亚洲av无码乱码国产精品久久| 亚洲欧美日韩中文无线码| 天堂а√在线最新版中文在线| 久久免费看少妇高潮v片特黄| 国产精品一区二区AV不卡| 激情久久黄色免费网站| 精品久久久久久无码中文字幕| 久99久热只有精品国产男同| 成年女人18毛片毛片免费| 粉嫩av最新在线高清观看| 丰满少妇a级毛片野外| 成人国产精品一区二区网站| 国产一区二区在三区在线观看| 成人影片麻豆国产影片免费观看| 18禁裸男晨勃露j毛免费观看| 韩国一级成a人片在线观看| 人妻秘书被社长浓厚接吻| 国产一精品一av一免费爽爽| 亚洲精品毛片一区二区三区| 亚洲国产成人aⅴ毛片大全| 国产精品日韩av一区二区三区| 精品丰满人妻无套内射| 日本欧美在线播放| 青青草好吊色在线视频| 久久久久人妻一区二区三区| 美女高潮无遮挡免费视频| 日本人妻av在线观看| 国内揄拍国内精品人妻久久| 18女下面流水不遮图|