You can't access the rows that have been deleted.You can get that by the means below.DataTable dt=dataset1.Tables[0].GetChanges(DataRowState.Deleted);
dt.RejectChanges();
foreach(DataRow dr in dt.rows)
{
生成sql语句
}

解决方案 »

  1.   

    同意楼上的做法,不过要在未提交之前来做.
    还有就是每次删除时将行复制到一个临时的DATASET中去,访问时查该DATASET也可以.
      

  2.   

    今天看了msdn看到了提供的方法:dr["列名",DataRowVersion.Orignal]的访问方法可以访问提供给大家msdn里真是无所不包
      

  3.   

    今天看了msdn看到了提供的方法:dr["列名",DataRowVersion.Orignal]的访问方法可以访问提供给大家msdn里真是无所不包===========================
    这个也是在没有提交或是acceptchange()的时候吧
      

  4.   

    不行吧,这种方法不能访问被删除的行,设置DataRowVersion的意思返回的是这一行目前的值、默认值还是原来的值
      

  5.   

    是吗?我也不是很清楚我是通过dr.delete()函数删除的 读取的是调用删除前的数值测试通过的
      

  6.   

    没有acceptchange()----调用了这个逻辑上应该不能恢复吧!
      

  7.   

    是我搞错了,dr["列名",DataRowVersion.Orignal]可以访问已经删除了的列