理解DataSet的資料快取機制

2022-03-04 18:13:28 字數 1043 閱讀 2461

dataset類,資料快取機制。

在理解資料快取機制之前需要理解datarow的兩個概念,即行狀態行版本。行狀態就是指datarow的rowstate屬性,它可以的取值有added、deleted、detached、modified、unchanged(含義可以在msdn上查到),它用來描述資料行的狀態,比如在刪除某一行後,此行並不會本真正的被刪除,因此它的行狀態是deleted;行版本有四種取值,分別是current、default、original、proposed,在對某一行的資料進行了修改後,該行資料就有了兩個版本,分別是original和current。在呼叫acceptchanges()或rejectchanges()方法之後,資料行的狀態就會變為unchanged。

現在應該可以理解

所謂的資料快取機制了,它是指在新增、刪除、修改資料後,dataset中的資料並不會真正的被更改,直到呼叫acceptchanges()後,這些資料才會被真正的更改。

下邊給出一段**說明含義。

上邊**的執行結果如下:

輸出結果

修改前:

行狀態是:unchanged

該行companyname欄位original版本值是:alfreds futterkiste

該行companyname欄位current版本值是:alfreds futterkiste

修改後:

行狀態是:modified

該行companyname欄位original版本值是:alfreds futterkiste

該行companyname欄位current版本值是:cnblogs.com

確認修改後:

行狀態是:unchanged

該行companyname欄位original版本值是:cnblogs.com

該行companyname欄位current版本值是:cnblogs.com

由於dataset的這一快取機制,因此,在修改完畢後必須使用acceptchages()確認修改或使用rejectchanges()拒絕修改才能真正生效!

理解DataSet的資料快取機制

雖然在以前的開發中經常使用dataset類,但是重來沒有涉及到資料快取機制這塊內容。今天看了一下,也算是做點總結。在理解資料快取機制之前需要理解datarow的兩個概念,即行狀態和行版本。行狀態就是指datarow的rowstate屬性,它可以的取值有added deleted detached m...

dataset中的資料關係

為dataset的多個表定義表間關係,並輸出主從表 建立dataset string constr server local uid sa pwd 123456 database 資訊中心科技資料管理資料庫 sqlconnection con new sqlconnection constr str...

http快取的理解

瀏覽器第一次向乙個web伺服器發起http請求後,伺服器會返回請求的資源,並且在響應頭中新增一些有關快取的字段如 cache control expires last modified etag date等等。之後瀏覽器再向該伺服器請求該資源就可以視情況使用強快取和協商快取。如圖紅線所示的過程代表強...