亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#獲取變更過的DataTable記錄的實現方法

2020-01-24 02:36:03
字體:
來源:轉載
供稿:網友

本文實例講述了C#獲取變更過的DataTable記錄的實現方法,是一個非常實用的功能!具體實現方法如下:

首先DataTable可以看做是一個物理表的內存式存儲,每一個DataRow都有一個屬性叫做RowState。因此任意一行中某一個字段發生改變,那么整個DataRow的RowState也就發生了改變。RowState是一個枚舉,其中包含5個內容:

1)Detached:未被附加(一般剛創建的DataRow,或者已經被Remove或者RemoveAt,或者Delete之后調用過AcceptChanges方法的行,或者是WinForm控件DataGridView默認設置下最后那個永遠也留出的空行……都被自動設置該狀態)。

2)Added:剛添加的新行。

3)Deleted:剛被刪除的行(注意:這里只是從內存表中刪除,物理數據表中尚未刪除,此時你無法直接去訪問該行的某個字段的內容!)。

4)Modified:剛被修改的行。

5)Unchanged:原來的行。

DataTable批量通過內部遍歷這些行的RowState,然后借助DataAdapter的CRUD方法根據這些State調用不同的語句批量更新到真實數據表中。

如果要取消可以調用DataTable的RejectChanges方法,確認從內存表中刪除才調用AcceptChanges方法。

通過DataRow的RowState最多只能判斷哪行被修改,那么調用不同的語句如何進行更新呢?比如說我要更新一行,肯定使用update……where語句,where后面的條件是一個舊值,set是一個新值,如何獲取舊值呢?

.NET中的DataColumn有一個屬性叫做DataRowVersion,這個屬性有4個:

1)Current:當前數值(DataRowState=Deleted時候無效)。

2)Original:原來數值(DataRowState=Added或者Unchanged時候無效)。

3)Proposed:建議數值(僅在DataRowState=Detached的時候有效)。

3)Default:默認數值(DataRowState=Added,Modified或者Unchanged時,等于Current;如果DataRowState=Deleted,等于Original;如果DataRowState=Detached,那么等于Proposed)。該屬性可以自動調整,你吃不準哪一行的屬性,一律可以使用這個屬性獲取特定字段的內容。

根據這個法則,我們再結合微軟DataTable的GetChanges方法輕易可以獲取做了任意變更的源數據和現實數據,具體C#實現代碼如下:

DataTable dt = new DataTable();dt.Columns.Add("Id");for (int i = 1; i < 11; i++){dt.Rows.Add(i);}dt.AcceptChanges();//添加第十一行dt.Rows.Add(11);//修改第二行dt.Rows[1][0] = 21;//刪除第一行dt.Rows[0].Delete();//檢索情況DataTable cdt = dt.GetChanges();for (int i = 0; i <cdt.Rows.Count; i++){if (cdt.Rows[i].RowState == DataRowState.Deleted){  Console.WriteLine("刪除的行索引{0},原來數值是{1}",i,cdt.Rows[i][0,DataRowVersion.Original]);}else if (cdt.Rows[i].RowState == DataRowState.Modified){  Console.WriteLine("修改的行索引{0},原來數值是{1},現在的新數值{2}", i, cdt.Rows[i][0, DataRowVersion.Original],cdt.Rows[i][0,DataRowVersion.Current]);}else if (cdt.Rows[i].RowState == DataRowState.Added){  Console.WriteLine("新添加行索引{0},數值是{1}", i, cdt.Rows[i][0, DataRowVersion.Current]);}}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色综合伊人色综合网| 中文字幕精品在线| 91视频免费网站| 国产一区二区三区视频在线观看| 日韩男女性生活视频| 亚洲精品第一国产综合精品| 日韩成人中文字幕在线观看| 91成人国产在线观看| 欧美大片在线看| 中文字幕久久久| 亚洲毛片在线免费观看| 岛国精品视频在线播放| 日韩av男人的天堂| 日韩欧美在线播放| 国产精品黄页免费高清在线观看| 国产午夜精品一区二区三区| 日韩激情在线视频| 粉嫩老牛aⅴ一区二区三区| 欧美激情videoshd| 亚洲一区二区在线播放| 综合网日日天干夜夜久久| 国产亚洲精品成人av久久ww| 色综合影院在线| www.久久久久久.com| 亚洲天堂av高清| 久久精品电影网站| 欧美激情精品久久久久久| 国产精品一二三视频| 亚洲福利视频久久| 国产精品自产拍在线观看中文| 国产精品偷伦一区二区| 国产精品露脸av在线| 国产精品视频yy9099| 亚洲人成毛片在线播放| 国产精品极品在线| 亚洲va男人天堂| 日韩在线观看免费全| 成人有码在线播放| 操人视频在线观看欧美| 亚洲精品97久久| 成人免费淫片aa视频免费| 精品视频www| 国产欧美va欧美va香蕉在| 亚洲影院色无极综合| 亚洲欧美综合另类中字| 欧美性生交xxxxx久久久| 成人免费激情视频| 最近中文字幕mv在线一区二区三区四区| 国产精品久久久久久久久久久新郎| 伊人久久久久久久久久久久久| 国产精品日韩电影| 亚洲美女精品成人在线视频| 亚洲性生活视频在线观看| 成人a视频在线观看| 久久精品最新地址| 国产精品久久久久久久久久久久久久| 97香蕉久久夜色精品国产| 亚洲网在线观看| 日韩精品福利网站| 欧美激情伊人电影| 国产成人精品午夜| 欧美一区深夜视频| 精品动漫一区二区三区| 欧美一级免费视频| 91在线免费观看网站| 亚洲日韩第一页| 国产69精品久久久久久| 日韩一区视频在线| 日韩一区二区三区国产| 久久天天躁狠狠躁夜夜av| 午夜精品久久久久久99热| 国产亚洲精品久久久久久牛牛| 亚洲欧美日韩天堂| 91精品国产99久久久久久| 亚洲欧美日韩天堂一区二区| 亚洲欧美激情另类校园| 另类图片亚洲另类| 国产精品久久99久久| 欧美日本在线视频中文字字幕| 日韩h在线观看| 51久久精品夜色国产麻豆| 欧美大学生性色视频| 国产一区二区黄| 最好看的2019年中文视频| 97色在线播放视频| 欧美性感美女h网站在线观看免费| 国产精品91视频| 成人免费xxxxx在线观看| 亚洲小视频在线| 中文字幕少妇一区二区三区| 日韩av在线影视| 91精品国产电影| 亚洲精品一区在线观看香蕉| 国产精品视频资源| 亚洲性视频网址| 久久久久久久成人| 尤物yw午夜国产精品视频明星| 韩国v欧美v日本v亚洲| 久久人91精品久久久久久不卡| 欧美日韩aaaa| 欧美午夜片在线免费观看| 日韩高清有码在线| 国产精品久久久久久超碰| 日韩一区二区三区国产| 日韩精品免费在线播放| 伊人久久精品视频| 欧美精品videossex性护士| 国产日韩在线精品av| 中文字幕日韩专区| 日韩中文字幕不卡视频| 77777少妇光屁股久久一区| 91超碰caoporn97人人| 国产一区二区动漫| 日本a级片电影一区二区| 亚洲伦理中文字幕| 成人免费淫片视频软件| 97不卡在线视频| 韩国美女主播一区| 欧美日韩午夜激情| 久久久久久国产| 97精品一区二区三区| 久久久999精品| 全亚洲最色的网站在线观看| 亚洲精品成a人在线观看| 4438全国亚洲精品在线观看视频| 国产激情久久久| 日韩免费观看高清| 亚洲va欧美va国产综合剧情| 韩剧1988在线观看免费完整版| 成人深夜直播免费观看| 97在线免费观看视频| 亚洲网在线观看| 久热在线中文字幕色999舞| 久久久噜噜噜久久| 日韩美女视频在线观看| 欧美激情精品在线| 国产日韩精品一区二区| 久久久久久久久久婷婷| 热久久视久久精品18亚洲精品| 久久免费视频在线观看| 国产网站欧美日韩免费精品在线观看| 成人精品一区二区三区电影免费| 热99精品只有里视频精品| 中文字幕欧美亚洲| 国产乱肥老妇国产一区二| 精品国产成人av| 91精品在线影院| 欧美亚洲日本黄色| 91国在线精品国内播放| 性金发美女69hd大尺寸| 成人免费视频在线观看超级碰| 亚洲一区二区三区视频| 欧美精品午夜视频| 亚洲影视九九影院在线观看| 国产精品揄拍一区二区| 国自产精品手机在线观看视频| 青青草99啪国产免费| 久久精品成人欧美大片古装| 精品亚洲一区二区三区在线观看| 国外色69视频在线观看| 日韩视频亚洲视频| 国产精品中文字幕在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 久久999免费视频|