• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      薛 源

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

      0 引言

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

      1 ADO 技術簡介

      1.1 ADO 技術

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

      圖1 ADO 工作原理圖

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

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

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

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

      圖2 ADO 結構圖

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

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

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

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

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

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

      在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...>前導指令加上aspcompat=”true”屬性;其余便和ASP 網(wǎng)頁使用ADO 一樣。 下面以一范例部分代碼為示例。

      2 ADO.NET 技術簡介

      2.1 ADO.NET 技術

      ADO.NET 是對ADO 的繼承,是一個用來存取數(shù)據(jù)和信息的API。它提供與OLE DB 接口兼容的數(shù)據(jù)源的數(shù)據(jù)存取接口,應用程序可以使用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 對象在應用程序和數(shù)據(jù)庫之間建立連接。通過SQL Connection 對象建立與SQL Server 數(shù)據(jù)庫的鏈接到支持ADO Managed Provider 的數(shù)據(jù)來源。

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

      (3)DataSet 對象:DataSet 不是一個RecordSet, 而是類似數(shù)據(jù)庫(DataBase),在DataSet 中可以包含任意數(shù)量的數(shù)據(jù)表(DataTable),且每個表對應一個數(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 的幾個對象間的關系結構如圖4 所示。

      圖4 ADO.NET 結構圖

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

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

      3 兩種技術之比較

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

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

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

      (2)脫機與連機關系。

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

      (3)標準化程度。

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

      (4)傳輸性能。

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

      4 結束語

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

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

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

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

      猜你喜歡
      數(shù)據(jù)源應用程序對象
      神秘來電
      睿士(2023年2期)2023-03-02 02:01:09
      刪除Win10中自帶的應用程序
      電腦報(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)絡數(shù)據(jù)源的期刊評價研究
      基于熵的快速掃描法的FNEA初始對象的生成方法
      區(qū)間對象族的可鎮(zhèn)定性分析
      基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價算法
      分布式異構數(shù)據(jù)源標準化查詢設計與實現(xiàn)
      關閉應用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      长治县| 扶风县| 临高县| 辉南县| 四川省| 星座| 龙游县| 龙海市| 平武县| 阿克陶县| 堆龙德庆县| 伊春市| 双鸭山市| 密山市| 文安县| 石楼县| 新民市| 清苑县| 斗六市| 凤冈县| 开封县| 万源市| 大余县| 五莲县| 兴国县| 扎兰屯市| 新竹市| 石嘴山市| 祁东县| 霍邱县| 瑞丽市| 韩城市| 五莲县| 锦屏县| 泰州市| 松桃| 治县。| 晋中市| 东安县| 怀安县| 扬中市|