CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

DataTable中删除行的记录问题。

楼主jilate()2006-06-08 08:46:05 在 .NET技术 / C# 提问

1、  
  datatable中的记录可能有两种。  
  一种是从数据库直接读出来的。  
  一种是通过form操作下,通过Rows.Add   新增的。  
  如果我想删除该表的所有记录的话。  
  如果在第一种情况下,可以用foreach,for循环。没问题  
  如果是第二种情况的话,就不行了。用for循环也不行。  
  如果两种情况都有的话,那又该如何处理呢?  
   
  2、假设我所有的记录都是直接从数据库中读出来的。我通过for循环,为每行都作了delete以后,  
  我在调用   dtBody.NewRow()   就发生了   DeletedRowInaccessibleException   异常。  
  这个怎么处理啊? 问题点数:20、回复次数:4Top

1 楼xrascal(横刀夺爱)回复于 2006-06-08 08:55:53 得分 8

如果我想删除该表的所有记录的话。  
  如果在第一种情况下,可以用foreach,for循环。没问题  
   
   
  =====>   用   DataTable.Clear()   方法。  
  Top

2 楼yiming0755()回复于 2006-06-08 08:57:48 得分 8

第一个问题:  
  不管属于哪种情况,只要datatable中的数据存在表的索引值,就可以删,  
  任何方法都可以,不关心记录是绑定的,还是rows.add()进来的.  
   
  第二个问题,我这么和你说:你的表中有行已经被删除了,而你所看到的表却没有做改动,实际上,有可能你所操纵的对象已经不存在了,你设想一下,你的表本来只有一行,而你却把他删了,这个表已经不存在了,你还能newRow()??  
   
  实际上,你操作datatable这个虚拟的表,是没有任何意义的,它在任何时候都因该和数据库映射,你只是从它身上得到数据而已,操作数据是要在表示层控件上实现。Top

3 楼jilate()回复于 2006-06-08 08:58:44 得分 0

如果调用了clear方法的话,是清楚所有的数据  
  并不是给所有的记录作delted标记啊  
   
  因为我需要通过这个标记进行数据库的更新操作的  
   
  所以不能用clearTop

4 楼WeekZero(∮小气的鬼∮)回复于 2006-06-08 09:05:08 得分 4

datatable.remove(datatable.rows[i])  
   
  试Top

相关问题

关键词

得分解答快速导航

  • 帖主:jilate
  • xrascal
  • yiming0755
  • WeekZero

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo