ADO.NET和ADO的比較

發表于:2008-06-10來源:作者:點擊數: 標簽:ADONetNETadonet
關鍵字:ADO.NET ADO 您可以通過將 ADO.NET 的各項功能與 ActiveX 數據對象 (ADO) 的特定功能進行比較來理解 ADO.NET 的功能。 的內存中表示形式 在ADO中,數據的內存中表示形式為記錄集。在ADO.NET中,它為數據集。它們之間有重要的差異。 表的個數 記錄集看
關鍵字:ADO.NET ADO

   您可以通過將 ADO.NET 的各項功能與 ActiveX 數據對象 (ADO) 的特定功能進行比較來理解 ADO.NET 的功能。   
  
  的內存中表示形式

  在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中,數據適配器允許您控制將對數據集所做的更改傳輸到數據庫的方式,方法是實現性能優化、執行數據驗證檢查或添加其他任何額外處理。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97