C# 多用户数据库桌面应用程序设计

C# 多用户数据库桌面应用程序设计,c#,sql,database,multi-user,C#,Sql,Database,Multi User,首先,我为这个看似愚蠢的问题道歉,我对数据库不是很在行 我正在用C#设计一个桌面应用程序,用于本地网络,基本上是一个高度专业化的票证跟踪系统。基本上,当用户启动应用程序时,系统会要求用户提供访问系统的凭据,然后应用程序会查询中央数据库中的数据(当前是在本地计算机上运行的MySQL服务器),并将其显示在屏幕上 我的问题是,如果四个用户连接,两个用户输入新数据,那么让每个用户知道新数据的最有效方法是什么?是否只需查询数据库并在计时器上用新数据更新应用程序?或者创建一个服务器应用程序,坐在用户和数据库

首先,我为这个看似愚蠢的问题道歉,我对数据库不是很在行

我正在用C#设计一个桌面应用程序,用于本地网络,基本上是一个高度专业化的票证跟踪系统。基本上,当用户启动应用程序时,系统会要求用户提供访问系统的凭据,然后应用程序会查询中央数据库中的数据(当前是在本地计算机上运行的MySQL服务器),并将其显示在屏幕上


我的问题是,如果四个用户连接,两个用户输入新数据,那么让每个用户知道新数据的最有效方法是什么?是否只需查询数据库并在计时器上用新数据更新应用程序?或者创建一个服务器应用程序,坐在用户和数据库服务器之间,自己执行查询,并将更新的数据通知每个连接的用户?

查看这一切都取决于实时通知客户端数据库中的更改有多重要。如果你的客户对一两分钟的延迟没有问题,你可以选择定时器方法。但是如果他们真的希望数据是实时的(延迟小于1-2秒),那么就采用另一种方法。创建一个单独的服务,该服务轮询数据库并通知客户端应用程序任何更新。为此,可以使用套接字列表器。
希望有帮助

4个用户?在本地局域网上?使用简单的索引查询?只需从客户端轮询数据库。在应用程序启动时启动一个线程,让它每2-5秒运行一次查询,然后使用适合后台线程更新.NET中GUI的任何内容通知用户

这很简单,不要想太多。“最难”的部分是用户的异步通知(这取决于您的GUI布局和所需的操作,可能也不是什么大问题,因此引用)