圖示介紹ADO.NET數(shù)據(jù)集相關(guān)使用
微軟對于ADO.NET進行長期的研究發(fā)展,不管是用戶還是技術(shù)人員都已經(jīng)了解ADO.NET了,這里就說一下自己的看法,和大家討論討論。ADO.NET數(shù)據(jù)集工作原理請參見下面的圖示說明:
所示的流程就是數(shù)據(jù)集DataSet的工作原理。首先,客戶端與數(shù)據(jù)庫服務(wù)器端建立連接。然后,由客戶端運用 程序向數(shù)據(jù)庫服務(wù)器發(fā)送數(shù)據(jù)請求。數(shù)據(jù)庫服務(wù)器接到數(shù)據(jù)請求后,經(jīng)檢索選擇出符合條件的數(shù)據(jù),發(fā)送給客戶端的數(shù)據(jù)集,這時連接可以斷開。
接下來,ADO.NET數(shù)據(jù)集以數(shù)據(jù)綁定控件或直接引用等形式將數(shù)據(jù)傳遞給客戶端運用 程序。如果客戶端運用 程序在運行流程中有數(shù)據(jù)發(fā)生變化,它會修改數(shù)據(jù)集里的數(shù)據(jù)。當(dāng)運用 程序運行到某一階段時,比如運用 程序須要保存數(shù)據(jù),就可以再次建立客戶端到數(shù)據(jù)庫服務(wù)器端的連接,將數(shù)據(jù)集里的被修改數(shù)據(jù)提交給服務(wù)器,***再次斷開連接。#t#
把這種不須要實時連接數(shù)據(jù)庫的工作流程叫做面向非連接的數(shù)據(jù)訪問。在DataSet對象中處理數(shù)據(jù)時,客戶端運用 程序僅僅是在本地機器上的內(nèi)存中運用數(shù)據(jù)的副本。這緩解了數(shù)據(jù)庫服務(wù)器和網(wǎng)絡(luò)的壓力,因為只有在***獲取數(shù)據(jù)和編輯完數(shù)據(jù)并將其回傳到數(shù)據(jù)庫時,才能連接到數(shù)據(jù)庫服務(wù)器。
雖然這種面向非連接的數(shù)據(jù)結(jié)構(gòu)有優(yōu)點,但還是存在疑問。當(dāng)處于斷開環(huán)境時,ADO.NET數(shù)據(jù)集運用程序并不知道其他客戶端運用 程序?qū)?shù)據(jù)庫中原數(shù)據(jù)所做的改動。很有可能得到的是過時的信息。