社区
C#
帖子详情
Delete()和Remove()的区别?
cnjack
2003-04-22 04:58:43
DataRow.Delete()和DataSet.Tables["Table"].rows.Removed()两者的区别?
...全文
864
7
打赏
收藏
Delete()和Remove()的区别?
DataRow.Delete()和DataSet.Tables["Table"].rows.Removed()两者的区别?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tianjipei
2010-05-28
打赏
举报
回复
[Quote=引用 4 楼 erictang2003 的回复:]
简单的讲:
DataRow.Delete() 叫逻辑删除 (并未真正脱离表直到AcceptChanges());
DataRowCollections.Remove(datarow) 叫物理移除 (脱离表再也找不回来!);
[/Quote]
我用remove()后更新数据库无效果
而用delete()可实现删除数据
SW515
2003-04-24
打赏
举报
回复
给我100分吧!
cnjack
2003-04-23
打赏
举报
回复
谢谢楼上的,一个讲得实在是太清楚,清楚到不能再清楚了;
一个是简单明了。
谢谢。
我要怎么给分你们呀
erictang2003
2003-04-22
打赏
举报
回复
简单的讲:
DataRow.Delete() 叫逻辑删除 (并未真正脱离表直到AcceptChanges());
DataRowCollections.Remove(datarow) 叫物理移除 (脱离表再也找不回来!);
SW515
2003-04-22
打赏
举报
回复
DataRow对象没有直接在代码中使用的构造函数,一般是从具有一定结构的DataTable用NewRow()方法来新建一个DataRow对象。一个DataRow根据其是独立的,还是属于某个DataTable,是否修改过,是否被DataTable删除等等不同的情况有不同的状态,由DataRow.RowState属性公开,如下表:
成员名称 说明
======== ====
Added 该行已添加到 DataRowCollection 中,AcceptChanges 尚未调用。Deleted 该行已通过 DataRow 的 Delete 方法被删除。
Deleted 该行已通过 DataRow 的 Delete 方法被删除。
Detached 该行已被创建,但不属于任何 DataRowCollection。DataRow 在以下情况下立即处于此状态:创建之后添加到集合中之前;或从集合中移除之后。
Modified 该行已被修改,AcceptChanges 尚未调用。
Unchanged 该行自上次调用 AcceptChanges 以来尚未更改。
一个DataRow对象刚被创建之后其状态是Detached,是孤立的一个存在,所以建立了DataRow之后在DataRow中的单元填充了数据后还要通过DataTable.Rows.Add(DataRow)方法将此DataRow添加到DataTable,DataRow添加到DataTable后, 这个DataRow的状态就转变为Added。当修改了这个DataRow后,这个DataRow状态转为Modified,当用Modified.Delete()方法删除DataRow后,DataRow状态将转为Deleted,不过此行还存在在DataTable中的,只是状态改变了,这时用DataTable.Rows.Count查看行数,跟删除前是一样的。只有在调用了DataTable.Remove(DataRow)方法后,此DataRow才被从DataTable移除,状态也回复到Detached孤立状态。
一旦调用了DataTable.AcceptChanges()方法后,所有的行将根据不同的状态做不同的处理,Added、Modified、Unchanged将保留当前值,Deleted的行将从DataTable中移除,最后所有的行的状态都置为Unchanged。当DataTable是从DataAdapter.Fill(DataSet,DataTable)方法填充而形成的,Fill()方法将自动调用AcceptChanges()方法,将DataTable的行状态都置为Unchanged。
titicaca
2003-04-22
打赏
举报
回复
MSDN上有详细的讲解
大浪123
2003-04-22
打赏
举报
回复
如果数据行在上一次AcceptChanges调用后被添加到数据表中,在这种情况下,Delete方法才会物理地删除该数据行
Datatable删除行的
Delete
和
Remove
方法的
区别
介绍
Datatable删除行的
Delete
和
Remove
方法的
区别
介绍,需要的朋友可以参考一下
C# datatable 不能通过已删除的行访问该行的信息处理方法
原因如下:
Delete
()之后需要datatable.AccepteChanges()方法确认完全删除,因为
Delete
()只是将相应列的状态标志为删除, 还可以通过datatable.RejectChanges()回滚,使该行取消删除。 如果要彻底删除datarow,需要
Delete
()和AccepteChanges()方法同时使用,或者采用datatable.Rows.
Remove
At(i)方法直接删除, 其中i表示行索引,还有一个就是datatable.Rows.
Remove
(DataRow dr)删除指定行。 不过使用datatable.Rows.
Remove
At(i)要注意,如果连
hh.zip_killer
killer is program too
remove
a tool that
delete
infacted files
hash_filter:简单的 ruby 哈希过滤器
哈希过滤器 | | 一个简单的哈希过滤器。 安装 将此行添加到应用程序的 Gemfile 中: gem 'hash_filter' 然后执行: $ bundle 或者自己安装: $ gem install hash_filter 用法
remove
_images = HashFilter . new do
delete
/ \. jpg$/
delete
/ \. png$/
delete
/ \. gif$/ end rename_html = HashFilter . new do rename /(.*?) \. htm$/ , '\1.html' end filter = HashFilter . new do inject
remove
_images inject rename_html end hash = { "image.jpg
DB2认证课考试资料
1.Which of the following SQL statements can be used to
remove
data from table "users": A.
REMOVE
TABLE users B. DROP TABLE users C.
DELETE
TABLE users D. ALTER TABLE users
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章