当对 DataSet 调用 AcceptChanges 时,任何仍处于编辑模式的 DataRow 对象都将成功结束其编辑。每个 DataRow 的 RowState 属性也会随之更改;状态为 Added 和 Modified 的行的状态将变为 Unchanged,状态为 Deleted 的行则被移除。

解决方案 »

  1.   

    DataRow dr = dt.Tables[0].Rows[0];
    try
    {
    if(dt.Tables[0].Rows[0].RowState ==DataRowState.Deleted)
    {
    tmpCommand.CommandText = @"delete from YZ_STAMPERIMAGE where StamperID=@StamperID";
    tmpCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@StamperID", System.Data.SqlDbType.VarChar, 10, "StamperID"));
    tmpCommand.Parameters[0].Value =dr["StamperID"].ToString();
    tmpCommand.ExecuteNonQuery();

    sqlDa.Update(dt,xTableName); 
    myTran.Commit();
    return true;

    }
      

  2.   

    DataView dvDeleted = new DataView(tables,"","",DataViewRowState.Deleted)
      

  3.   

    用dataview可以解决
     
     dataview里的记录和数据源的记录保持同步
      

  4.   

    记录状态为DataViewRowState.Deleted的,就是已经删除的纪录
    (前提是记录集没有AcceptChanges )
      

  5.   

    建议用DataView,与数据库保持同步
      

  6.   

    我并没有调用AcceptChanges,为何不见了啊
      

  7.   

    DataView中是找不到已经删除的纪录的,在DataSet中找