gpt4 book ai didi

database - 图形用户界面编程。数据库和表同步

转载 作者:搜寻专家 更新时间:2023-10-30 22:05:27 26 4
gpt4 key购买 nike

我开发过多个桌面应用程序,这些应用程序使用表格对数据库表格中的信息进行分组。但是保持这些信息的更新让我破解了不同的解决方案,比如一个工作线程,它每 X 秒更新一个执行查询的表,或者只是一个按钮来刷新 View 。我什至见过一个应用程序可以使用鼠标移动事件来刷新表格。所以我的问题是,这是您的首选方法。有没有一种“完美”的方法可以实现我在大学里睡过的东西?感谢大家的回复。

最佳答案

你想完成什么?
它是某种实时监控应用程序,如股票交易、工厂监控软件,还是您希望自动更新的某些 CRUD 应用程序中有网格?

如果这是一个 crud 应用程序,那么我要做的第一件事就是检查需求:

  • 您的用户真的有必要一直自动更新信息吗,
  • 您的用户是否一直在看显示器?
  • 为什么?也许您可以实现某种可以减少检查频率的警报系统?

如果您真的需要您描述的方法,那么您做得很好 - 您可以使用计时器或其他事件(按钮、鼠标移动等)来刷新数据。当然,随着用户数量的增加,不断的重新查询会成为性能问题。

如果它是包含大量数据的实时监控软件,那么您不应该将数据库放在系统的中心。您应该拥有您的客户端通过 TCP(或某种类似协议(protocol))连接到的中央服务。中央服务应保持系统的最新状态(可能还有一些历史记录)。客户端可以附加到服务,服务应该在有新数据时通知客户端,这样你就可以避免不断的轮询。数据库应该用作应用程序用于分析过去事件的日志,而不是用于实时显示。

编辑:

关于 Andrej 的回答:我不确定这是否能解决您的问题。观察者模式通常通过订阅/通知机制来实现,这样当数据发生变化时,数据源可以通知所有的观察者。问题是 RDBMS 通常没有可以通知您数据更改的机制。即使有,也不实用,因为短时间内可能会发生大量变化。想想每秒有几十个或数百个更新——RDBMS 应该多久通知一次客户有关更改?如果有数百个网络缓慢的客户端怎么办?当您有多个用户时,事情就变得复杂了。

数据绑定(bind)在进行中 - 您不能将网格直接绑定(bind)到数据库中的表。您首先需要将应用程序的数据放入某个可以绑定(bind)到 GUI 的对象(数据集、列表……)

关于database - 图形用户界面编程。数据库和表同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/397433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com