我有一个绑定到数据库(mysql)表的listview winforms-c,但我似乎不知道如何让listview在对数据库表(update/insert)进行更改时自动显示结果,而用户不必触发一个事件,如按钮单击、计时器滴答等。C…
有人能告诉我正确的方向吗?任何建议/解决方案将不胜感激!
谢谢,
-唐纳德

最佳答案

SQL不支持将更改事件从数据库发送回客户端。
DataTable上的事件不会从数据库中发出更改的信号。它们向DataTable本身发出变化信号。
如果要查看对实际数据库的更改,有两种选择:
检测更改的简单方法是定期执行一个查询,例如每分钟或每5分钟,并检测数据库的更改;
如果需要实时更改,另一种方法是使用消息传递服务。您可以实现wcf服务,在更改数据库时向其发送信号。然后,其他进程(包括您自己的进程)可以使用回调接口连接到此wcf服务,并在发生更改时接收这些更改。但是,只有在完全控制对数据库的更改时,这才有效。
第一种机制将提供定期更新,就像旧的pop3通知一样。第二种机制将为您提供实时更新。

07-24 20:47