C 中刪除DataTable中的行的方法

2021-08-18 23:59:00 字數 608 閱讀 2277

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

int count = ds.tables[0].rows.count;

for (int i = count -1; i >=0; i--)

總結:delete和remove

•delete的使用是 datatable.rows[i].delete();

•remove的使用是datatable.rows.remove(datatable.rows[i]);

•這兩個的區別是,使用delete後,只是該行被標記為deleted,但是還存在,用rows.count來獲取行數時,還是刪除之前的行數.需要使用datatable.acceptchanges()方法來提交修改.

而remove方法則是直接刪除.(有時候發現使用ds.tables[0].rows[i].delete();資料行也被直接刪除了,原因是在建立datatable時沒有執行acceptchanges這個方法,那麼在delete時,不會標記,會直接刪除掉。)

•如果在for迴圈裡刪除行的話,最好是使用delete方法,不然會出現count變化的情況.迴圈完後再使用acceptchanges()方法提交修改,刪除掉標記為deleted的行

C 中DataTable刪除多條資料

一般情況下我們會這麼刪除 datatable dt new datatable for int i 0 i dt.rows.count i 但是這麼刪除會出現意外情況 當執行dt.rows.removeat i 後datatable的index會發生改變 且他的dt.rows.count也會改變 正...

C 中DataTable刪除多條資料

一般情況下我們會這麼刪除 datatable dt new datatable for int i 0 i dt.rows.count i if 99 i 0 dt.rows.removeat i 但是這麼刪除會出現意外情況 當執行dt.rows.removeat i 後datatable的inde...

刪除DataTable中的數行?

在c 中,如果要刪除datatable中的某一行,大約有以下幾種辦法 1。使用datatable.rows.remove datarow 或者datatable.rows.removeat index 可以直接刪除行 2。datatable.rows i delete delete 之後需要 dat...