很抱歉,如果标题有点模糊,但我正在努力想出一个很好的方法来做到这一点。顺便说一下,我们正在使用.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抛入List或向其中添加另一列。这可能吗?
答案 0 :(得分:2)
您可以通过编写
来获取已删除行的数据row["ColumnName", DataRowVersion.Original]
答案 1 :(得分:0)
为什么不使用DataAdapter呢?您可以在http://msdn.microsoft.com/en-us/library/xzb1zw3x%28v=VS.90%29.aspx
了解如何执行此操作谢谢,
Vamyip