在计算机C#之间自动更新记录

时间:2012-10-07 10:10:09

标签: c# sql-server winforms

我需要帮助。我目前正在使用Winforms和C#构建数据管理应用程序。此应用程序已安装在10台计算机上,并连接到服务器上的一个数据库。网络只在办公室。

这些应用程序使用数据网格视图显示员工列表。

现在的主要问题是,如果PC-A上的用户输入了新记录或更新了员工记录,则PC-B上的数据网格视图不会自动更新。因此,如果我想在PC-B上刷新数据网格视图,我需要按“REFRESH”按钮重新加载记录。

现在的问题是,还有其他方法可以自动更新“数据网格视图”吗?

我不知道这个方法的命名是什么,所以我希望有人愿意帮我解决这个问题。如果我的问题已经存在,希望有人可以给我一个链接。

感谢您的帮助:)

2 个答案:

答案 0 :(得分:1)

为了达到你想要的效果,你需要做一些相当复杂的架构工作。我担心这里没有简单的解决办法。

问题是您希望数据网格基于EVENT进行更新,但该事件发生在数据库中的应用程序之外。要注册该EVENT,您需要有一个类或服务,负责处理所有INSERTS / UPDATES / DELETES。

如果您将所有表或视图定义为ARTICLES,则可以拥有发布者/订阅者模型。数据服务将处理应用程序的所有插入更新和删除,并将ARTICLE已更改的通知推送到文章的所有订阅服务器。在每个页面上,您可以拥有一个类,该类订阅与数据网格上显示的数据相关的文章,当它收到文章已更新的消息时,将数据网格重新绑定到数据源。 尝试阅读观察者模式中的这篇WIKIPEDIA文章,以了解该体系结构的外观。

http://en.wikipedia.org/wiki/Observer_pattern

答案 1 :(得分:0)

您可以将Version列添加到数据库表中,然后您应该定期询问数据库(池)以获取版本比上次收到的更多的记录