悬赏分:30 浏览:654 次
|
有两个思路:
1. 程序中设置一个Timer,定时查询数据库,更新界面 2. 数据库中建一个触发器,一有改变就通知程序(不知道MySql有没有这个功能) 仅供参考 MySql 5支持触发器了 是啊,使用一个触发器.. 用触发器比较好 用Timer比较好,只要每个客户端定时查询数据库服务器就可以了。 MySQL触发器如何通知应用程序? 我个人也觉得用Timer控件定时查询数据库好些,不过这样客户端都会定时查询数据库,给数据库服务器带来一定的压力,尤其是客户端比较多的情况下! 数据库表触发器如何更新客户端的数据显示呢?不知道怎么实现的。 印象中,SQL Server的触发器可以使用C++写。不知道MySql有没有这样的功能。 我也认为Timer比较好,可以有效的降低程序和服务器的耦合。关于性能,我觉的可以在数据库中保存一个表,其中就一个字段和一行。存储一个递增的整型量。 每次更新数据库的时候,同时将这个量递增一。客户端通过查询这个值来确定是否读取具体的业务数据。 呵呵,自己写一个服务,专门负责维护这个值,而不需要存储到SQL Server中,可能性能更好。毕竟,数据库连接资源也是一个非常稀缺的资源。尽量少用。 |
|
7个月前 刚刚 : 网友随机,你的方法不错,不过不知道会不会在并发的时候产生什么丢Socket包的问题,有些担心这个,而且客户机上还要安装一个收发Socket包的Windows服务之类的模块! |
|
7个月前 随机 : 功能集成到客户端即可, 对于并发,可以用队列来缓冲 |
|
6个月前 随机 : 为什么非要用主线程来更新呢?B机接收到消息后即调用更新的方法,如果再回发的话,耗时又耗力 |
|
6个月前 菩提树下的杨过 : message queue ,微软现成的msmq完全可以满足你的要求,A程序有数据修改后,发送到消息队列,B程序监听消息队列,有内容就马上更新 |