我有一个listView WinForms-C#,我已绑定到数据库(
MySQL)表但我似乎无法弄清楚如何让listView在对数据库表进行更改时自动显示结果(更新/插入)没有用户必须触发事件,如button_click,timer_tick等…
有人可以指出我正确的方向.任何建议/解决方案将不胜感激!
谢谢,
-Donald
解决方法
sql不支持将更改事件从数据库发送回客户端.
DataTable上的事件不会发出数据库更改的信号.它们表示对DataTable本身的更改.
如果要查看对实际数据库的更改,您有两种选择:
>检测更改的简单方法是定期执行查询,例如每分钟或每5分钟一次,并检测对数据库的更改;
>如果您需要实时更改,则可以选择使用消息传递服务.您可以实现在更改数据库时向其发送信号的WCF服务.然后,其他进程(包括您自己的进程)可以使用回调接口连接到此WCF服务,并在发生这些更改时接收这些更改.但是,只有在您完全控制对数据库的更改时,此方法才有效.
第一种机制将为您提供定期更新,例如旧POP3通知.第二种机制将为您提供实时更新.