2010-11-19 37 views
1

对不起,如果标题有点含糊,但我正试图想办法立即做到这一点。顺便说一下,我们正在使用.NET 3.5。将删除的行保存在数据表中以便稍后在数据库中被删除

示例代码:

if (ExistsInDB(dt.Rows.Find(rowID))) 
    dt.Rows.Find(rowID).Delete(); 
else 
    dt.Rows.Remove(dt.Rows.Find(rowID)); 

如果在数据库中存在的行中,将其标记为删除。否则,将其从数据表中删除。

现在,如果我继续并通过DataRow.Delete()方法将DataRow的RowState属性更改为Deleted,该工作正常,但我无法访问信息,当用户需要从数据库中删除该行时点击“保存更改”。

我不想将行存储在另一个数据表中,因为我已经有很多其他数据表,并且我不想为对象添加更多的复杂性。我会在名称为“ToBeDeleted”之类的数据表中放置另一列,但表格会通过网格显示在程序中。

本质上,我希望能够在DataTable中标记DataRow以便在数据库中进行删除,而无需诉诸DataRow到列表中或向其中添加另一列。这可能吗?

回答

2

您可以通过编写

row["ColumnName", DataRowVersion.Original] 
+0

谢谢,我需要的:) – duraz0rz 2010-11-19 19:42:09