CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

怎样访问数据集中被删除的行

楼主icebamboo123(努力考个结婚证书)2006-11-01 16:54:36 在 .NET技术 / ASP.NET 提问

我的程序是这样的  
  try{  
  DataTable   dt=temDs.Tables["TransportationBillDetail"].GetChanges(DataRowState.Deleted);  
  for(int   dti=0;dti<dt.Rows.Count;dti++)  
  {  
  ...  
        访问dt.Rows[dti]["字段"];  
  ...  
  }  
  }  
  catch   (Excption   k)  
  {  
  .......k.Message;  
  }  
  在访问dt.Rows[dti]["字段"]时,捕获异常  
  可是dt确实是获得了两行数据,为什么这两行数据里面没有值呢?高手指点下 问题点数:50、回复次数:16Top

1 楼icebamboo123(努力考个结婚证书)回复于 2006-11-01 16:55:29 得分 0

我要怎么访问这两行数据呢??Top

2 楼Eddie005(♂) №.零零伍 (♂)回复于 2006-11-01 16:59:46 得分 20

try{  
  DataTable   dt=temDs.Tables["TransportationBillDetail"].GetChanges(DataRowState.Deleted).Copy();  
  dt.RejectChanges();  
  for(int   dti=0;dti<dt.Rows.Count;dti++)  
  {  
  ...  
        访问dt.Rows[dti]["字段"];  
  ...  
  }  
  }  
  catch   (Excption   k)  
  {  
  .......k.Message;  
  }  
  Top

3 楼dafeng168(我吾系二五仔)回复于 2006-11-01 17:00:29 得分 0

报什么错Top

4 楼yangye1211(杨杨)回复于 2006-11-01 17:01:02 得分 15

访问是指读还是写???  
   
  不过应该这样就可以了  
  DataTable   dt=temDs.Tables["TransportationBillDetail"].GetChanges(DataRowState.Deleted).Clone();  
  Top

5 楼icebamboo123(努力考个结婚证书)回复于 2006-11-01 17:04:21 得分 0

是读操作,说是不能通过已经删除的行访问  
  Eddie005(♂)   №.零零伍   (♂)   的方法,明天试下  
  谢谢各位Top

6 楼icebamboo123(努力考个结婚证书)回复于 2006-11-01 17:05:32 得分 0

怎么dt刚获取数据,就要回滚呢?为什么呀????Top

7 楼viena(维也纳N02)回复于 2006-11-01 17:07:19 得分 15

嗯,RejectChanges一下看看~Top

8 楼yangye1211(杨杨)回复于 2006-11-01 17:07:58 得分 0

写错了,是.Copy()  
  Top

9 楼viena(维也纳N02)回复于 2006-11-01 17:08:33 得分 0

加.Copy没必要吧,GetChanges本身就是得到一个副本Top

10 楼Eddie005(♂) №.零零伍 (♂)回复于 2006-11-01 17:10:06 得分 0

viena(维也纳nn)的更正是对的~Top

11 楼icebamboo123(努力考个结婚证书)回复于 2006-11-01 17:10:22 得分 0

不要着急,让我试一下,还有一点时间Top

12 楼yangye1211(杨杨)回复于 2006-11-01 17:12:20 得分 0

反正就是那个意思,总之引用是不work   的Top

13 楼icebamboo123(努力考个结婚证书)回复于 2006-11-01 17:27:49 得分 0

测试通过,谢谢各位!Top

14 楼icebamboo123(努力考个结婚证书)回复于 2006-11-01 17:28:29 得分 0

讲讲什么原理,为什么rejectChanges()以后,就可以得到数据呢Top

15 楼Eddie005(♂) №.零零伍 (♂)回复于 2006-11-01 17:31:54 得分 0

其实也无所谓什么原理,这只是.net类库设计者的一项人为限制:已经标记为“删除”的行就不允许再访问;   而RejectChanges()就是取消所有行状态的更改~Top

16 楼icebamboo123(努力考个结婚证书)回复于 2006-11-01 17:33:35 得分 0

那也就是说,dt里刚开始获得的数据也是带删除标记的吗/Top

相关问题

关键词

得分解答快速导航

  • 帖主:icebamboo123
  • Eddie005
  • yangye1211
  • viena

相关链接

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

广告也精彩

反馈

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