datatable 中Remove和delete的区别
来源:互联网 发布:it狂人特别篇 编辑:程序博客网 时间:2024/05/22 09:03
两种删除方法
Delete的使用是dataStore.Tables("ProcessedFile").Rows.Remove(dr)
Remove的使用是 dr.Delete()
或
Delete的使用是 datatable.Rows[i].Delete();
Remove的使用是datatable.Rows.Remove(datatable.Rows[i]);
DataRow.delete方法只是从行集合中删除了行并没有调用datarow的Acceptchanges方法
而table.rows.remove方法已经隐式得调用了Acceptchanges方法
一个DataRow对象刚被创建之后其状态是Detached,是孤立的一个存在,所以建立了DataRow之后在DataRow中的单元填充了数据后还要通过DataTable.Rows.Add(DataRow)方法将此DataRow添加到DataTable,DataRow添加到DataTable后, 这个DataRow的状态就转变为Added。
当修改了这个DataRow后,这个DataRow状态转为Modified,当用DataRow.Delete()方法删除DataRow后,DataRow状态将转为Deleted,不过此行还存在在DataTable中的,只是状态改变了,这时用DataTable.Rows.Count查看行数,跟删除前是一样的。
只有在调用了DataTable.Remove(DataRow)方法后,此DataRow才被从DataTable移除,状态也回复到Detached孤立状态。
MSDN对DataRow.Delete 方法的解释:如果行的 RowState 是“Added”,则该行将从表中移除。在使用 Delete 方法后,RowState 变成“Deleted”。在您调用 AcceptChanges 之前,它一直保持“已删除”。可通过调用 RejectChanges 取消删除行。
用Delete(),DataSet的HasChanges()=true;
用Remove(),DataSet的HasChanges()=false;
- datatable 中Remove和delete的区别
- 对DataTable执行delete和remove的区别
- Datatable删除行的Delete和Remove方法的区别介绍
- Datatable删除行的Delete和Remove方法的区别介绍
- C#中Remove(DataRow)和DataRow.Delete()的区别
- Datatable删除行的Delete和Remove方法
- Datatable删除行的Delete和Remove方法
- Datatable删除行的Delete和Remove方法
- Datatable删除行的Delete和Remove方法介绍
- Datatable删除行的Delete和Remove…
- Datatable删除行的Delete和Remove方法
- DataTable中 Rows.RemoveAt(i) 和Rows(i).Delete的区别
- DataTable中Rows.RemoveAt(i)和Rows(i).Delete的区别
- C++中delete和delete[] 的区别
- C++中delete和delete[] 的区别
- C++中delete和delete[] 的区别
- C++中delete和delete[]的区别
- C++中delete和delete[]的区别
- java类加载器备忘
- java5之枚举
- Servlet Listener 的用途
- 蓝牙打印机操作
- 预加载
- datatable 中Remove和delete的区别
- FLASH资源网站
- SQL索引
- 快速、选择、冒泡排序算法
- 使用SQL游标对数据进行遍历循环操作
- HTML 5取得用户的精度和纬度
- C#实现反射调用动态加载的DLL文件中的方法
- 元数据
- python 学习笔记