国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

Datatable刪除行的Delete和Remove方法的區別介紹

2020-01-18 00:06:33
字體:
來源:轉載
供稿:網友

1、在C#中,如果要刪除DataTable中的某一行,大約有以下幾種辦法:

•使用DataTable.Rows.Remove(DataRow),或者DataTable.Rows.RemoveAt(index);可以直接刪除行
•datatable.Rows[i].Delete()。Delete()之后需要datatable.AccepteChanges()方法確認完全刪除,因為Delete()只是將相應列的狀態標志為刪除,還可以通過datatable.RejectChanges()回滾,使該行取消刪除。
•在刪除DataTable中的行的時候,每刪除一行,DataTable中所有行的索引都會發生改變。在循環刪除DataTable.Row的時候不能使用foreach。使用foreach進行循環的時候,是不允許Table有刪除和添加操作的。
•如果是按某列為條件進行刪除,則每刪完一行,整個Table的index就會立即發生變化,等于Table已經變成了一個新的表。但是索引卻已經加1了。于是會造成第一列永遠匹配不到。因此,每刪除完一行,要跟著判斷第一行是否滿足刪除條件。
•如果要刪除DataTable中的多行,應該采用倒序循環DataTable.Rows。因為正序刪除時索引會發生變化。程式發生異常,很難預料后果。

總結:

delete和remove

•Delete的使用是 datatable.Rows[i].Delete();
•Remove的使用是datatable.Rows.Remove(datatable.Rows[i]);
•這兩個的區別是,使用delete后,只是該行被標記為deleted,但是還存在,用Rows.Count來獲取行數時,還是刪除之前的行數.需要使用datatable.AcceptChanges()方法來提交修改.
•而Remove方法則是直接刪除.
•如果在for循環里刪除行的話,最好是使用delete方法,不然會出現count變化的情況.循環完后再使用AcceptChanges()方法提交修改,刪除掉標記為deleted的行

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 比如县| 陇西县| 乌兰察布市| 呼和浩特市| 锡林浩特市| 商洛市| 株洲县| 汉沽区| 河津市| 玉山县| 惠州市| 云安县| 岳阳县| 宝坻区| 泸水县| 汉寿县| 新河县| 内江市| 兴隆县| 剑河县| 乌海市| 青浦区| 南宁市| 定陶县| 五华县| 东港市| 阿拉善左旗| 郑州市| 溧阳市| 保靖县| 沁水县| 和顺县| 宣威市| 峡江县| 科技| 诸城市| 定西市| 明水县| 九江县| 泸溪县| 曲阳县|