0

我是一名学生程序员,我的工作任务是开发一个软件系统来监控员工的上班、下班和记录时间。员工将使用连接到前台计算机的键盘将其员工 ID 输入到 GUI 中,该 gui 将为他们打卡/打卡。办公室经理将使用另一个 gui 来监控员工的进出,并跟踪办公室里的人。

该项目是 VS 2010 中的一个 windows 窗体项目,有两个 gui(如前所述)和一个 Access 2007 数据库来存储数据。办公室经理 gui 有一个 DataGridView 对象,我想用员工姓名和上班或下班时间填充该对象。我希望这能实时发生。换句话说,一旦员工打卡,它就会出现在办公室经理 gui 中。我正在寻找的是这种方法的最佳实践。我应该采用客户端/服务器方法吗?我是否应该从数据库中触发某些东西来提醒办公室经理 gui 触发事件以获取填充到办公室经理 DataGridView 中的员工的打卡/下班时间?

数据库和查询都已经设计好了。我只是在寻找解决这个问题的最佳实践。我是一名大三学生,我一直都来 stackoverflow.com。这是我的第一个问题,所以无论哪种方式,这对我来说都是一大步:) 提前致谢。

4

1 回答 1

0

如果您与 Microsoft 一致(并且正在使用 .NET 等),您可能会发现采用 SQL Express 路线很容易(Microsoft 设计的所有工具都相似并且很好地集成在一起)。

您可以下载带有高级服务的 SQL Express(2005 以后的任何版本都适用于该项目,只要它包括管理工作室,并且您可能还需要 Reporting Services)

我的方法是不时地轮询数据库,然后监视时钟输入/输出表的变化。

我不会使用访问,因为它不是实际数据库的最佳解决方案,而且它的扩展性也不是特别好。虽然它适用于您的项目,但值得您使用 SQL Server 来获得一些经验。

我假设您的打卡/打卡视图将只显示员工姓名页面,并将基于日期 - 在这种情况下,每 5-10 秒在数据库中触发一次查询以获取当前状态不会导致任何问题。

虽然可以将通知从 SQL 推送到客户端,但在客户端设置一个计时器通常很容易,而且不会对这种规模的应用程序造成任何性能影响

于 2013-10-07T17:17:59.090 回答