【问题标题】:C# monitoring changes of a T-SQL table in a DGVC# 监视 DGV 中 T-SQL 表的更改
【发布时间】:2015-04-18 03:35:27
【问题描述】:

这是我的情况:

  • 几个服务和一个 GUI 记录它们的信息、错误消息 等到 T-SQL 表。
  • GUI 正在运行,此表的最后一个条目显示在 DGV。
  • 我正在使用一个DataTable 填充了 T-SQL 表条目并绑定到 DGV。
  • 我正在通过比较 在 T-SQL 中找到的具有最长创建时间的最后显示条目 表。

每次我在 T-SQL 表中检测到新条目时,是否有一种机制可以更新 DataTable 以及绑定的 DGV 而无需填写完整的 DataTable

感谢任何帮助。

【问题讨论】:

  • 听起来像是RX 的用例。
  • 如果有人删除条目或更改其状态或详细信息怎么办?
  • 可以通过删除、插入、更新触发器来检测数据库表更改。但不清楚您是要检测更改还是需要更新 DGV?
  • 你能用SqlMonitor类吗?

标签: c# sql-server


【解决方案1】:

最简单的自定义方法是向表中添加一个触发器,如果​​数据已更改,该触发器将生成新的 GUID,并将此 GUID 保存在新表中。 (试试这个https://msdn.microsoft.com/en-us/library/ms189788.aspx

您可以对所有表格执行此操作。

因此,您必须定期获取此值并将其与旧值匹配。 如果它们不同,则获取完整的数据集。 (Better if you will use the paging mechanism.)

您的情况实际上可以描述为“如何检测表更改或数据更改”所以也请看这里http://sqlserverplanet.com/design/how-to-detect-table-changes

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-10
    • 2021-10-17
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 2013-04-14
    相关资源
    最近更新 更多