• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    ADO.Net與ADO在數據內存中的差異討論

    發布: 2007-6-11 12:28 | 作者: 網絡轉載 | 來源: 網絡 | 查看: 23次 | 進入軟件測試論壇討論

    領測軟件測試網

    數據的內存中表示形式

    在 ADO 中,數據的內存中表示形式為記錄集。在 ADO.NET 中,它為數據集。它們之間有重要的差異。

    表的個數

    記錄集看起來像單個表。如果記錄集將包含來自多個數據庫表的數據,則它必須使用 JOIN 查詢,將來自各個數據庫表的數據組合到單個結果表中。

    相反,數據集是一個或多個表的集合。數據集內的表稱為數據表;明確地說,它們是 DataTable 對象。如果數據集包含來自多個數據庫表的數據,它通常將包含多個 DataTable 對象。即,每個 DataTable 對象通常對應于單個數據庫表或視圖。這樣,數據集可以模仿基礎數據庫的結構。

    數據集通常還包含關系。數據集內的關系類似于數據庫中的外鍵關系,即它使多個表中的行彼此關聯。例如,如果數據集包含一個有關投資者的表和另一個有關每個投資者的股票購買情況的表,則數據集可能還包含一個關系來連接投資者表的各個行和購買表的對應行。

    由于數據集可以保存多個獨立的表并維護有關表之間關系的信息,因此它可以保存比記錄集豐富得多的數據結構,包括自關聯的表和具有多對多關系的表。

    數據導航和游標

    在 ADO 中,您使用 ADO MoveNext 方法順序掃描記錄集的行。在 ADO.NET 中,行表示為集合,因此您可以像依次通過任何集合那樣依次通過表,或通過序號索引或主鍵索引訪問特定行。DataRelation 對象維護有關主記錄和詳細資料記錄的信息,并提供方法使您可以獲取與正在操作的記錄相關的記錄。例如,從 Investor 表的“Nate Sun”的行開始,可以定位到 Purchase 表中描述其購買情況的那組行。

    “游標”是數據庫元素,它控制記錄導航、更新數據的能力和其他用戶對數據庫所做更改的可見性。ADO.NET 不具有固有的游標對象,而是包含提供傳統游標功能的數據類。例如,在 ADO.NET DataReader 對象中提供只進、只讀游標的功能。有關游標功能的更多信息,請參見數據訪問技術。

    將打開連接的時間降至最低

    在 ADO.NET 中,打開連接的時間僅足夠執行數據庫操作,例如“選擇”(Select) 或“更新”(Update)。您可以將行讀入數據集中,然后在不保持與數據源的連接的情況下使用它們。在 ADO 中,記錄集可以提供不連接的訪問,但 ADO 主要是為連接的訪問設計的。

    ADO 和 ADO.NET 中的不連接處理之間存在一個顯著差異。在 ADO 中,通過調用 OLE DB 提供程序來與數據庫通信。但在 ADO.NET 中,您通過數據適配器(OleDbDataAdapter、SqlDataAdapter、OdbcDataAdapter 或 OracleDataAdapter 對象)與數據庫通信,這將調用 OLE DB 提供程序或基礎數據源提供的 API。ADO 和 ADO.NET 之間的主要區別在于:在 ADO.NET 中,數據適配器允許您控制將對數據集所做的更改傳輸到數據庫的方式,方法是實現性能優化、執行數據驗證檢查或添加其他任何額外處理。

    注意 數據適配器、數據連接、數據命令和數據讀取器是組成 .NET Framework 數據提供程序的組件。Microsoft 和第三方供應商可能會提供其它提供程序,這些提供程序也可集成到 Visual Studio 中。有關不同 .NET 數據提供程序的信息,請參見 .NET 數據提供程序。
    在應用程序間共享數據

    在應用程序間傳輸 ADO.NET 數據集比傳輸 ADO 不連接的記錄集要容易得多。若要將 ADO 不連接的記錄集從一個組件傳輸到另一個組件,請使用 COM 封送。若要在 ADO.NET 中傳輸數據,請使用數據集,它可以傳輸 XML 流。

    相對于 COM 封送,XML 文件的傳輸提供以下便利之處:

    更豐富的數據類型

    COM 封送提供一組有限的數據類型(由 COM 標準定義的那些類型)。由于 ADO.NET 中的數據集傳輸基于 XML 格式,所以對數據類型沒有限制。因此,共享數據集的組件可以使用這些組件一般會使用的任何豐富的數據類型集。

    性能

    傳輸大型 ADO 記錄集或大型 ADO.NET 數據集會使用網絡資源;隨著數據量的增長,施加于網絡的壓力也在增加。ADO 和 ADO.NET 都使您可以最大限度地降低所傳輸的數據。但 ADO.NET 還提供另一個性能優勢:ADO.NET 不需要數據類型轉換。而需要 COM 封送來在組件間傳輸記錄集的 ADO,則需要將 ADO 數據類型轉換為 COM 數據類型。

    穿透防火墻

    防火墻可以影響試圖傳輸不連接的 ADO 記錄集的兩個組件。請記住,防火墻通常配置為允許 HTML 文本通過,但防止系統級請求(如 COM 封送)通過。

    因為組件使用 XML 交換 ADO.NET 數據庫,所以防火墻可以允許數據集通過。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: ado net 數據 中的 內存 差異 討論


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>