【问题标题】:C# How to update data in datagridview [closed]C#如何更新datagridview中的数据[关闭]
【发布时间】:2015-12-24 16:27:25
【问题描述】:

我正在构建一个 C# wpf SQL 服务器应用程序,在开始之前,我想问几件事。

  1. 首先,应用程序将被多个客户端用于将数据写入一个 SQL 表。在应用程序的主窗口中,我将有一个显示主表的 datagridview。由于数据将由多人输入,我可以动态更新数据网格视图还是应该使用计时器并每隔几分钟更新一次?

  2. 如果我打开一个全局 SQL 连接并在应用程序运行时保持打开状态会更好(如果是这样,我该怎么做)还是每次我想做某事时都创建一个新连接?

这些是现在的问题,我相信我还会有更多的问题,因为我是 wpf 和数据库编程的新手。感谢您的理解:)。

【问题讨论】:

  • 在计时器上更新,并为每个与 SQL 服务器的联系人创建一个新的 Connection 对象。
  • 更新:如果您坚持自动更新,请使用计时器。但是请仔细考虑@Fragment 的建议,不要自动更新。

标签: c# mysql sql wpf datagridview


【解决方案1】:

我建议你在 mvvm 架构中构建你的 wpf 应用程序。

  1. 就我而言,我认为您不应该为此目的使用计时器。因为如果你的客户端会使用不同的过滤器或排序来查找自定义的数据行,这些突然的数据更新会改变显示的数据顺序,这是一种不可预知的行为(违反了 UI 开发原则),它会惹恼所有人。更好的解决方案是,用户仅在需要时刷新数据(手动、单击按钮),或者自己导航到 dataGrid 表格控件(自动)。

如果客户端在编辑时拿了一条记录,你可以将记录状态参数存入数据库,并检查它的状态以避免冲突(多个用户同时编辑相同的数据)。

  1. 当您没有对数据库进行操作时,您不应显式保持连接处于活动状态。由于您使用的是 WPF - 最好的、易于配置和管理的方法 - 将 EntityFramework nuget 包安装到您的项目中,并首先使用代码。 Here is a good tutorials,关于如何使用。

通过项目模型使用数据库比通过 SqlConnection 类工作更可靠、更简单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    相关资源
    最近更新 更多