我有一个连接到MySQL数据库的小应用程序。它非常直接 - 基本上数据库包含警报条目(因此警报发生时,新记录将写入此数据库表)。该应用程序具有绑定到此表的Datagridview,以便可视地填充所有警报。
然而,我想要实现的是以某种方式'监视'这个MySQL表,并在新表项进入此表(或更改)时自动填充datagridview。我还希望能够通知用户datagridview已更新。
我已经使用MySQL表填充了我的datagridview,但是在设置它成为表的自动观察器之后得到了一些帮助。我可以在后台工作程序中设置所有内容,但不确定如何找出数据何时发生更改。
由于
答案 0 :(得分:0)
我不熟悉MySQL,但您可能最终不得不轮询数据库来执行此操作。您可能最终会得到一些基于计时器的代码,它将以特定的间隔检查数据库。
但是,您可以尽力减少每次检查所完成的工作量。执行此操作的一种不好的方法是每次检索整个表并在程序中运行一大堆检查和比较。
相反,您可以使用triggers(这里是syntax创建一个)来了解更新或插入行的时间。你如何使用触发器取决于你。
一种替代方法是在表上设置一个时间戳列,只要有插入或更新,就会自动更新。类似地,您可以拥有一个单独的表,其中只包含主键和相同的时间戳列(如果您不希望使用额外的列来混淆主表)。
无论哪种方式,您都会跟踪上次检查的时间戳,并找到在该时间点之后插入或更新的所有内容。
答案 1 :(得分:0)
也许将Insert,Update,Delete触发器添加到表中以记录具有两列的新表中的行..
然后你访问这个表,它会告诉你具体插入,更新,删除哪些行