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

為你解析ADO.NET應(yīng)用程序

開發(fā) 后端
這里介紹了ADO.NET應(yīng)用程序和基礎(chǔ)數(shù)據(jù)源之間的交互基于一個具有雙向信道的雙體系結(jié)構(gòu)。您可以使用各個特定于提供程序的命令或批處理更新過程來訪問數(shù)據(jù)源,以讀取和寫入行。

在網(wǎng)上收集了很多有關(guān)ADO.NET的信息,整理了一些,希望對大家有所幫助。ADO.NET應(yīng)用程序和基礎(chǔ)數(shù)據(jù)源之間的交互基于一個具有雙向信道的雙體系結(jié)構(gòu)。您可以使用各個特定于提供程序的命令或批處理更新過程來訪問數(shù)據(jù)源,以讀取和寫入行。在這兩種情況下,數(shù)據(jù)訪問都會產(chǎn)生完全雙向綁定,并涉及各種不同的對象和方法。您可以使用如 SqlCommand 和 OleDbCommand 等命令類來執(zhí)行單個命令??墒褂脭?shù)據(jù)適配器對象來下載斷開連接的數(shù)據(jù),提交更新的行集。雖然 “數(shù)據(jù)集” 是數(shù)據(jù)適配器用于返回和提交記錄塊的容器對象,但各個命令通過數(shù)據(jù)讀取器對象返回?cái)?shù)據(jù)。

更新是通過各個命令、存儲過程完成的,通常,托管提供程序理解的任何命令文本一般都被稱為更新。更新命令總是執(zhí)行嵌入在語句正文中的新數(shù)據(jù)。更新命令總是需要一個打開的連接,可能還需要一個正在進(jìn)行的事務(wù)處理或一個新的事務(wù)處理。批處理更新則是一個略有不同的方法分支。從最高的抽象級別來看,您并不發(fā)出命令,無論它可能有多么復(fù)雜。取而代之的是,您提交在客戶端修改的當(dāng)前行的快照,并等待數(shù)據(jù)源批準(zhǔn)。批處理更新背后的關(guān)鍵概念是數(shù)據(jù)斷開連接的概念。您下載行表,通常為數(shù)據(jù)集,根據(jù)需要在客戶端對它進(jìn)行修改,然后將這些行的新映像提交到數(shù)據(jù)庫服務(wù)器。您所作的是提交更改,而不是執(zhí)行一個對數(shù)據(jù)源創(chuàng)建更改的命令。這就是更新(我在 July column 一文中討論過這個問題)和批處理更新之間的本質(zhì)區(qū)別。

下圖說明了ADO.NET 應(yīng)用程序的雙更新體系結(jié)構(gòu)。

 

ADO.NET 應(yīng)用程序的雙更新體系結(jié)構(gòu)


圖 1. ADO.NET應(yīng)用程序和數(shù)據(jù)源之間的兩個雙向交互


在進(jìn)一步詳細(xì)討論 ADO.NET 批處理更新之前,我需要闡明常常會導(dǎo)致某種誤解的批處理更新模型的一個方面。雖然更新和批處理更新在 ADO.NET 內(nèi)的實(shí)際實(shí)現(xiàn)方面有著本質(zhì)的區(qū)別,但它們遵循的是同一個更新模型。更新和批處理更新都是通過直接的并且特定于提供程序的語句來完成的。當(dāng)然,由于批處理更新通常涉及到更多的行,所以這些語句會被組合為一個批處理調(diào)用。批處理更新會對目標(biāo)數(shù)據(jù)集的行進(jìn)行從頭到尾的循環(huán),只要發(fā)現(xiàn)更新的行,就會發(fā)出適當(dāng)?shù)母旅睿↖NSERT、DELETE 或 UPDATE)。對更新的行進(jìn)行通信時(shí),將運(yùn)行一個預(yù)定義的直接 SQL 命令。從本質(zhì)上來說,這就是批處理更新。

這個過程是理所當(dāng)然的。實(shí)際上,如果批處理更新使用完全不同的更新模型,就需要來自數(shù)據(jù)源的特殊支持。(這正是向 SQL Server 2000 提交 XML updategram 時(shí)發(fā)生的情況。)批處理更新只是一個用來簡化多個行更新提交的客戶端提供的軟件機(jī)制。在任何情況下,每個新行提交總是通過數(shù)據(jù)源直接命令的正常通道完成的。

到目前為止,本文只提及了 SQL 命令,但這些提及的內(nèi)容都明確表明了 ADO 批處理更新實(shí)現(xiàn)和 ADO.NET 批處理更新實(shí)現(xiàn)之間的一個重要區(qū)別。在 ADO 中,批處理更新只可能發(fā)生在基于 SQL 的數(shù)據(jù)源上。而在 ADO.NET 中,批處理更新則可能發(fā)生在任何種類的托管提供程序上,其中包括那些不應(yīng)該通過 SQL 查詢語言公開其數(shù)據(jù)的托管提供程序。現(xiàn)在,我們可以開始討論 ADO.NET 批處理更新編程的關(guān)鍵內(nèi)容了。

【編輯推薦】

  1. Linq匿名類型簡單概述
  2. Linq隨機(jī)讀取數(shù)據(jù)淺析
  3. Linq Lambda表達(dá)式全面分析
  4. Linq擴(kuò)展方法簡單分析
  5. 初探Linq局部變量類型
責(zé)任編輯:田樹 來源: 博客
相關(guān)推薦

2009-12-21 13:38:29

ADO.NET應(yīng)用程序

2010-01-04 13:56:50

ADO.NET應(yīng)用程序

2009-12-23 17:30:54

ADO.NET應(yīng)用程序

2009-12-24 14:06:22

ADO.NET 應(yīng)用程

2009-12-23 10:18:21

ADO.NET 應(yīng)用程

2009-12-23 16:57:35

理解ADO.NET

2009-12-28 16:50:28

ADO.NET應(yīng)用程序

2009-12-24 14:12:33

2009-12-18 16:56:05

ADO.NET應(yīng)用程序

2009-11-12 15:55:31

ADO.NET對象服務(wù)

2009-12-18 17:29:40

ADO.NET應(yīng)用程序

2011-07-21 09:07:16

ADO.NET

2009-03-11 14:45:25

Data ServicASP.NETADO.NET

2011-05-20 16:18:23

ADO.NET

2009-10-29 10:57:28

ADO.NET Dat

2009-12-29 16:12:25

ADO程序員

2009-12-21 16:45:41

ADO.NET程序

2009-11-13 09:45:54

ADO.NET程序集

2009-11-04 13:08:29

ADO.NET Dat

2009-12-23 14:59:32

ADO.NET 2.0
點(diǎn)贊
收藏

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