删除DataRow:有两种方法可以删除DataRow,分别是Delete方法和Remove方法和RemoveAt方法。
其区别是:
Delete方法实际上不是从DataTable中删除掉一行,而是将其标志为删除,仅仅是做个记号,
而Remove方法则是真正的从DataRow中删除一行,
RemoveAt方法是根本行的索引来删除。
列:DataRow dr=ds.Tables[table].Rows.Find(a);ds.Tables[table].Remove(dr);或ds.Tables[table].Remove(index);//dr 为a所在的行,查出后将其删除,index为 a所在的索引号。
两者是有区别的.
1. 使用myDataTable.Rows.RemoveAt(i)删除行.
2. 使用myDataTable.Rows(i).delete
这时候需要使用
myDataTable.AcceptChanges
才能更新到数据库.
-------------------------------
两种方法看似第一种比较简单.但不要在循环里使用myDataTable.Rows.RemoveAt(i).因为每删除一行后.i的值会增加,但行数会是减少了.这么做一定会出错.