自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于ADO.NET ADO比較揭秘

開發(fā) 后端
文章就表的個(gè)數(shù)、數(shù)據(jù)導(dǎo)航和游標(biāo)、在應(yīng)用程序間共享數(shù)據(jù)三個(gè)方面進(jìn)行對(duì)ADO.NET ADO比較,希望通過本文大家能對(duì)兩個(gè)詞有明確的概念。

有些人好像對(duì)ADO.NET和ADO的區(qū)別好像不是很清楚,昨天在看了一個(gè)關(guān)于這方面的書,把我所記下的分析給大家聽聽。您可以通過將 ADO.NET 的各項(xiàng)功能與 ActiveX 數(shù)據(jù)對(duì)象 (ADO) 的特定功能進(jìn)行比較來理解 ADO.NET 的功能。 在ADO中,數(shù)據(jù)的內(nèi)存中表示形式為記錄集。在ADO.NET中,它為數(shù)據(jù)集。它們之間有重要的差異。

#T#ADO.NET ADO比較表的個(gè)數(shù)

記錄集看起來像單個(gè)表。如果記錄集將包含來自多個(gè)數(shù)據(jù)庫(kù)表的數(shù)據(jù),則它必須使用JOIN查詢,將來自各個(gè)數(shù)據(jù)庫(kù)表的數(shù)據(jù)組合到單個(gè)結(jié)果表中。相反,數(shù)據(jù)集是一個(gè)或多個(gè)表的集合。數(shù)據(jù)集內(nèi)的表稱為數(shù)據(jù)表;明確地說,它們是DataTable對(duì)象。如果數(shù)據(jù)集包含來自多個(gè)數(shù)據(jù)庫(kù)表的數(shù)據(jù),它通常將包含多個(gè)DataTable對(duì)象。即,每個(gè)DataTable對(duì)象通常對(duì)應(yīng)于單個(gè)數(shù)據(jù)庫(kù)表或視圖。這樣,數(shù)據(jù)集可以模仿基礎(chǔ)數(shù)據(jù)庫(kù)的結(jié)構(gòu)。

數(shù)據(jù)集通常還包含關(guān)系。數(shù)據(jù)集內(nèi)的關(guān)系類似于數(shù)據(jù)庫(kù)中的外鍵關(guān)系,即它使多個(gè)表中的行彼此關(guān)聯(lián)。例如,如果數(shù)據(jù)集包含一個(gè)有關(guān)投資者的表和另一個(gè)有關(guān)每個(gè)投資者的股票購(gòu)買情況的表,則數(shù)據(jù)集可能還包含一個(gè)關(guān)系來連接投資者表的各個(gè)行和購(gòu)買表的對(duì)應(yīng)行。由于數(shù)據(jù)集可以保存多個(gè)獨(dú)立的表并維護(hù)有關(guān)表之間關(guān)系的信息,因此它可以保存比記錄集豐富得多的數(shù)據(jù)結(jié)構(gòu),包括自關(guān)聯(lián)的表和具有多對(duì)多關(guān)系的表。

ADO.NET ADO比較數(shù)據(jù)導(dǎo)航和游標(biāo)
  
在ADO中,您使用ADO MoveNext方法順序掃描記錄集的行。在ADO.NET中,行表示為集合,因此您可以像依次通過任何集合那樣依次通過表,或通過序號(hào)索引或主鍵索引訪問特定行。DataRelation對(duì)象維護(hù)有關(guān)主記錄和詳細(xì)資料記錄的信息,并提供方法使您可以獲取與正在操作的記錄相關(guān)的記錄。例如,從 Investor 表的“Nate Sun”的行開始,可以定位到Purchase 表中描述其購(gòu)買情況的那組行。

“游標(biāo)”是數(shù)據(jù)庫(kù)元素,它控制記錄導(dǎo)航、更新數(shù)據(jù)的能力和其他用戶對(duì)數(shù)據(jù)庫(kù)所做更改的可見性。ADO.NET 不具有固有的游標(biāo)對(duì)象,而是包含提供傳統(tǒng)游標(biāo)功能的數(shù)據(jù)類。例如,在ADO.NET DataReader對(duì)象中提供只進(jìn)、只讀游標(biāo)的功能。有關(guān)游標(biāo)功能的更多信息,請(qǐng)參見數(shù)據(jù)訪問技術(shù)。
將打開連接的時(shí)間降至最低 在ADO.NET中,打開連接的時(shí)間僅足夠執(zhí)行數(shù)據(jù)庫(kù)操作,例如“選擇”(Select) 或“更新”(Update)。您可以將行讀入數(shù)據(jù)集中,然后在不保持與數(shù)據(jù)源的連接的情況下使用它們。在ADO中,記錄集可以提供不連接的訪問,但ADO 主要是為連接的訪問設(shè)計(jì)的。

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

注意數(shù)據(jù)適配器、數(shù)據(jù)連接、數(shù)據(jù)命令和數(shù)據(jù)讀取器是組成 .NET Framework 數(shù)據(jù)提供程序的組件。Microsoft 和第三方供應(yīng)商可能會(huì)提供其它提供程序,這些提供程序也可集成到Visual Studio 中。有關(guān)不同 .NET 數(shù)據(jù)提供程序的信息,請(qǐng)參見.NET 數(shù)據(jù)提供程序。

ADO.NET ADO比較在應(yīng)用程序間共享數(shù)據(jù)

在應(yīng)用程序間傳輸ADO.NET數(shù)據(jù)集比傳輸ADO不連接的記錄集要容易得多。若要將ADO不連接的記錄集從一個(gè)組件傳輸?shù)搅硪粋€(gè)組件,請(qǐng)使用COM封送。若要在ADO.NET中傳輸數(shù)據(jù),請(qǐng)使用數(shù)據(jù)集,它可以傳輸XML流。相對(duì)于COM封送,XML文件的傳輸提供以下便利之處:更豐富的數(shù)據(jù)類型 。COM 封送提供一組有限的數(shù)據(jù)類型(由COM標(biāo)準(zhǔn)定義的那些類型)。由于ADO.NET數(shù)據(jù)集傳輸基于XML格式,所以對(duì)數(shù)據(jù)類型沒有限制。因此,共享數(shù)據(jù)集的組件可以使用這些組件一般會(huì)使用的任何豐富的數(shù)據(jù)類型集。

責(zé)任編輯:田樹 來源: 博客
相關(guān)推薦

2009-11-04 10:23:05

ADO.NET Con

2009-11-03 17:12:33

ADO.NET Exe

2009-11-04 15:55:49

ADO.NET VC

2009-11-03 17:25:59

ADO.NET編程技巧

2009-10-29 10:34:31

ADO.NET使用技巧

2009-11-04 13:51:46

ADO.NET性能

2009-11-04 16:31:40

ADO.NET Ora

2009-11-11 10:55:10

ADO.NET對(duì)象

2009-11-04 08:38:30

ADO.NET庫(kù)文件

2009-11-13 09:53:47

ADO.NET權(quán)限集

2009-12-28 15:11:36

ADO.NET專家

2009-09-14 13:37:25

LINQ ADO.NE

2011-05-20 11:31:07

ADO.NET

2009-12-29 16:12:25

ADO程序員

2009-12-31 16:09:22

ADO與ADO.NET

2010-01-04 10:48:30

ADO.NET特色

2009-11-04 09:34:47

ADO.NET Sql

2009-11-11 09:11:19

2009-11-12 09:44:41

ADO.NET對(duì)象

2010-01-04 13:56:50

ADO.NET應(yīng)用程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)