当记录从镜像数据表中消失时,从数据表中删除记录

时间:2010-09-20 18:45:32

标签: c# .net database datagridview dataset

我有两个镜像数据表(具有两个主键的相同结构):

  • DataTable_A --->绑定到datagridView
  • DataTable_B --->从数据库中填写

由于DataTable_B每2秒被一个查询填充到数据库中,我需要像DataTable_B一样镜像DataTable_A,避免直接填充DataTable_A。当记录从DataTable_B中消失时,我还需要从DataTable_A中删除记录。这样做的最佳方式是什么?

现在我正在DataTable_B的每一行上执行“for cycle”,如果DataTable_A上不存在该行,我会将其删除。

有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

最好的方法可能是不要使用TableA,而是在TableB上使用DataView。这样可以立即解决所有问题。你能详细说明你为什么需要这份副本吗?

但是否则你会想要处理TableB的 RowChanged和TableNewRow RowDeleted事件


更常见的想法,在看到您的评论之后:如果可以向数据库中的表添加Timestamp列,则可以运行更高效的查询。而DataTable.Merge方法将完成剩下的工作。