[BlueDog] 关于DataTable的行增加与删除

BlueDog 2005-12-06 08:42:57
我将一个DataTable绑定到一个DataGrid后,此DataTable是由SqlDataAdapter的Fill方法得到的
如果用户先插入一行,未保存到数据库,然后又删除此行,
当我现在调用SqlDataAdapter的Update方法后,当处理此行时系统是如何运行的
是先在数据库中添加一行,然后,因为其标志是Delete,然后再删除它?
或者是根本不理它?

...全文
221 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pinkybs 2005-12-07
  • 打赏
  • 举报
回复
引用msdn中的一段:
关于datarow的delete方法

备注
如果行的 RowState 是“已添加”,则该行将从表中移除。

在使用 Delete 方法后,RowState 变成“已删除”。在您调用 AcceptChanges 之前,它一直保持“已删除”。

如果按楼主的意思操作,我的理解是在 DataTable 中根本没有这一行了。
hamadou 2005-12-07
  • 打赏
  • 举报
回复
对于added的行的删除不会被标识为delete,那么自然就不会被update过程处理。
BlueDog 2005-12-06
  • 打赏
  • 举报
回复
虽然好象是个小问题,但在实际应用中是有区别的,比如说
我有个ID是自动增长的,如果是第一种方式,则一定会空出一个ID来,
但如果是第二种方式,则肯定不会。
我隐约记得Ado.net处理时是按一定顺序的。
kjq_vb 2005-12-06
  • 打赏
  • 举报
回复
同意根本不理它
ChengKing 2005-12-06
  • 打赏
  • 举报
回复
我个人认为:
ado.net类肯定使用最优化的数据库操作方式:
当前行的最后标志是Delete,Adapter在数据库中找不到相应记录,便不会删除.
MyLf 2005-12-06
  • 打赏
  • 举报
回复
是根本不理它.

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧