我需要在用户输入数据库时立即向用户显示更新的数据,即在线视图。
我正在使用 sql server 并构建一个 c# .net winform 应用程序。
该应用程序将由 3 个用户 U1、U2、U3 在 LAN 上使用。
用户将使用应用程序将数据输入到 ITEMS 表中,当 U2 单击插入按钮时,他应该在网格视图或其他底部的同一表单上查看更新的数据,而且 U1、U3 也会自动看到更新了他们电脑上应用程序中的表格。
我该怎么做呢?
U1、U2、U3已打开该应用程序。
U2 已导航至 INSERT items 表单。
U1,U3在查看项目表格上。
我希望当 U2 插入数据时,U1、U3 应用程序上的网格视图会自动更新,并且他们可以在 ITEMS 表中看到 U2 插入的新数据。他们甚至不需要刷新或重新打开查看项目表单。
必须在 ITEMS 表上使用触发器。有什么办法可以避免这里触发吗?
您不需要触发器(至少不需要用于所描述的目的)。
常见的做法是实现按需刷新功能(通常是 F5)。
让电脑或屏幕始终保持最新的数据库有点荒谬。考虑网络流量。考虑一下,当 U1 或 U2 接听电话、去吃午饭或休息时,没有人在场看屏幕。按需刷新能力更合理。
此外,如果您必须实现这样的功能,请向表中添加 Last-Updated-TimeStamp 或 DateTime 列,并且仅检索自上次检索以来已更新的行。
对评论的回应
Thanks.
在每张桌子上,包括一个Timestamp
or Datetime
列,名称类似UpdatedDateTime
。设置默认值GETDATE()
.
每当更新行时更新此列。
请注意,您只能拥有一个有意义的数据窗口in focus, IE。在前面,所有其他窗户都失去焦点,无法看到。因此,将刷新或自动刷新编码到每个窗口中是没有意义的;仅那些实际需要自动刷新的窗口。
-
在客户端或 .NET 端,对于每个需要刷新的窗口,为 Function-5 按钮编写代码。每当激活 F5 时,刷新窗口。这意味着:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)