新聞中心
ADO.NET經(jīng)過長時(shí)間的發(fā)展,很多用戶都很了解ADO.NET了,這里我發(fā)表一下個(gè)人理解,和大家討論討論。ADO.NET數(shù)據(jù)集工作原理請(qǐng)參見圖所示:

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比桐城網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式桐城網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋桐城地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴。
ADO.NET數(shù)據(jù)集工作原理圖
所示的過程就是數(shù)據(jù)集DataSet的工作原理。首先,客戶端與數(shù)據(jù)庫服務(wù)器端建立連接。然后,由客戶端應(yīng)用程序向數(shù)據(jù)庫服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求。數(shù)據(jù)庫服務(wù)器接到數(shù)據(jù)請(qǐng)求后,經(jīng)檢索選擇出符合條件的數(shù)據(jù),發(fā)送給客戶端的數(shù)據(jù)集,這時(shí)連接可以斷開。
#T#接下來,數(shù)據(jù)集以數(shù)據(jù)綁定控件或直接引用等形式將數(shù)據(jù)傳遞給客戶端應(yīng)用程序。如果客戶端應(yīng)用程序在運(yùn)行過程中有數(shù)據(jù)發(fā)生變化,它會(huì)修改數(shù)據(jù)集里的數(shù)據(jù)。當(dāng)應(yīng)用程序運(yùn)行到某一階段時(shí),比如應(yīng)用程序需要保存數(shù)據(jù),就可以再次建立客戶端到數(shù)據(jù)庫服務(wù)器端的連接,將數(shù)據(jù)集里的被修改數(shù)據(jù)提交給服務(wù)器,最后再次斷開連接。
把這種不需要實(shí)時(shí)連接數(shù)據(jù)庫的工作過程叫做面向非連接的數(shù)據(jù)訪問。在DataSet對(duì)象中處理數(shù)據(jù)時(shí),客戶端應(yīng)用程序僅僅是在本地機(jī)器上的內(nèi)存中使用數(shù)據(jù)的副本。這緩解了數(shù)據(jù)庫服務(wù)器和網(wǎng)絡(luò)的壓力,因?yàn)橹挥性谑状潍@取數(shù)據(jù)和編輯完數(shù)據(jù)并將其回傳到數(shù)據(jù)庫時(shí),才能連接到數(shù)據(jù)庫服務(wù)器。
雖然這種面向非連接的數(shù)據(jù)結(jié)構(gòu)有優(yōu)點(diǎn),但還是存在問題。當(dāng)處于斷開環(huán)境時(shí),客戶端應(yīng)用程序并不知道其他客戶端應(yīng)用程序?qū)?shù)據(jù)庫中原數(shù)據(jù)所做的改動(dòng)。很有可能得到的是過時(shí)的信息。
案例學(xué)習(xí):通過編碼創(chuàng)建DataSet對(duì)象,新建窗體命名為Form5.cs,雙擊Form5的窗體界面,進(jìn)入后臺(tái)編碼區(qū)域,在其窗體加載初始化事件中鍵入如下代碼:
- privatevoidForm5_Load(objectsender,EventArgse)
- {
- //建立SQLServer數(shù)據(jù)庫連接
- stringconnstring="DataSource=(local);InitialCatalog=school;UserID=sa";
- SqlConnectionconnection=newSqlConnection(connstring);
- connection.Open();
- stringsqlstring="select*fromstudent";
- SqlCommandmycom=newSqlCommand(sqlstring,connection);
- SqlDataAdapteradapter=newSqlDataAdapter();
- adapter.SelectCommand=mycom;
- //創(chuàng)建DataSet對(duì)象
- DataSetSQLds=newDataSet();
- adapter.Fill(SQLds);//通過SqlDataAdapter對(duì)象填充DataSet對(duì)象
- //釋放數(shù)據(jù)庫連接資源。要養(yǎng)成了好的編程習(xí)慣,操作完數(shù)據(jù)后記住打掃垃圾!
- connection.Dispose();
- connection.Close();
- connection=null;
- }
本文名稱:ADO.NET數(shù)據(jù)集工作原理機(jī)制分析
網(wǎng)頁URL:http://www.fisionsoft.com.cn/article/copgsog.html


咨詢
建站咨詢
