时间:2019-05-17 标签:c#datagridviewautorefreshinlan

标签 c# mysql datagridview refresh lan

我是 C# 初学者,有一个很大的问题。 前面带有 datagridview 的应用程序(Termin 计划为一个工作日)可在 LAN 中的多台 PC 上运行,并配有 MS Windows Server 和 MySQL 数据库。 我如何才能将一台工作站上所做的更改自动应用到所有其他 PC 上,而不对其进行任何操作(仅启动应用程序)。 我有一个数据和 datagridview 刷新程序,我必须只知道何时必须启动此程序,这意味着我必须知道何时任何其他工作站进行任何更改。 感谢您的帮助!

最佳答案

一个简单的解决方案是使用计时器,当计时器过去时,您刷新 GridView 。所以在定义的时间段内它将自动刷新。问题可能是,如果您经常更新,则会出现访问数据库的过载。为了防止这种情况,您可以创建一个处理所有数据的服务器应用程序

假设 PC 1 正在启动客户端应用程序。

  1. 首先它连接到服务器应用程序(服务器将客户端的引用存储在列表中)。

  2. PC1 上的用户进行更改并单击“保存”后,软件会将更改发送到服务器(例如,包含所有所需信息的自定义对象)。

  3. 服务器将更改保存到数据库

  4. 服务器应用程序向特定客户端提供响应(无论其是否有效)

  5. 如果有效,则向所有客户端发送一个自定义对象(例如名为 ChangesDoneEvent),以指示更改已完成。

  6. 所有连接的客户端都将收到该对象,并知道现在必须刷新其 GridView 。

有关更多信息,只需搜索 C# 多线程服务器套接字编程。对于通过网络发送自定义对象,您也会在互联网上找到许多资源,也许这会对您有所帮助Sending and receiving custom objects using Tcpclient class in C#

关于时间:2019-05-17 标签:c#datagridviewautorefreshinlan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25782155/

相关文章:

c# - Nullable<T> 的装箱/拆箱行为如何可能?

c# - 禁用 Windows 任务管理器,这样他就无法终止我的进程

php - 查询一列中的多个值

c# - 在SQL中,如何将两列的数据乘以第三列

c# - 如何将标签添加到 DataGridView 单元格

c# - 从 C# 将资源嵌入到 native exe

php - 用多个select语句查询并加入Eloquent

mysql - Postgres 序列端口到 MySQL

c# - 填充 dataGridView 感谢 backGroundWorker

c# - 使用带有 DataAnnotations 的可移植类库共享程序集