如果只是删除一行则:DataRow row = ds.Tables[0].Select("" , "" , DataViewRowState.Deleted)[0];

DataRow = ds.Tables[0].GetChanges( DataViewRowState.Deleted ).Rows[0];如果删除了多行,而要取其中指定的行:DataRow = ds.Tables[0].Select("keyField=keyValue" , "" , DataViewRowState.Deleted)[0];
// keyField 为 主关键字段 , keyValue 为关键字段值 , 如果有多个关键字段,用 AND 连接
// 如 "(keyField1=keyValue1) AND (keyField2=keyValue2) AND ..."

解决方案 »

  1.   

    当然,以上操作只能是在数据修改后,未调用 AcceptChanges 或 RejectChanges 或 DataAdapter.Update 操作前有效!
      

  2.   

    你们可能没看清题目, 我不是想取出删除的行,因为我既然DataRow.Delete()肯定知道是那一行删除了。 我的问题是:删除的行已经做上Deleted标记了,但我想知道删除后的行的每个字段的内容,这时我用DataRow[index]取其字段时出现错误“不能通过已删除的行访问该行的信息。”,请问我如何取出删除行的字段值??  请各位高手指点。不够可以再加分。
      

  3.   

    干嘛不通过DataView去取呢,DefaultView[index].Row也可以的呀
      

  4.   

    //读取删除后的记录的内容:if(oDr.RowState.ToString()=="Deleted")
    oDr.RejectChanges();
    string sFileName=oDr["Name"].ToString();
    oDr.Delete();