【问题标题】:Updating DataGridView with Linq on DB Change在 DB 更改时使用 Linq 更新 DataGridView
【发布时间】:2014-08-10 00:26:03
【问题描述】:

我有一个使用绑定连接到数据库的 DataGridView。它运行良好,但我们决定将其更改为 LINQ。

在我们更改为 LINQ 之前,DataGridView 会自动反映数据库上的任何更改。每次更改值时,DataGridView 都会自动更新其值。

现在我们要使用 RELOAD - 按钮。单击时,它将刷新 DataGridView 并显示数据库中的最新数据。

我想在数据库发生更改时显示一个符号,就像 StackOverflow 上的这里一样,当问题发生更改时(它告诉您发生了更改)。

在 LINQ 上完成此任务的最佳方法是什么?我想也许我必须执行一个数据库查询(例如在计时器滴答声上),看看是否有什么改变。如何在不使用太多硬件资源的情况下完成此任务?

DBMS:MSSQL 2005 或 2008

【问题讨论】:

  • 你必须实现一个定时器,它可以观察你的数据库,如果发生什么事情,它会通知你的用户界面
  • 是的,我刚刚添加了计时器。但是如果发生了什么事,我怎么能看我的数据库呢?我们说的是一张表上有几千条记录。
  • 您使用哪种 DBMS?
  • MSSQL2005(如果必须是 2008)

标签: c# sql-server winforms linq .net-3.5


【解决方案1】:

您可以使用OracleDependency 通知数据库更改。

            OracleDependency oraDependency = new OracleDependency(selectCmd);  

            // Add the event handler to handle the notification.  
            // The oraDependency_Change method will be invoked when a notification message  
            // is received from the database.  
            oraDependency.OnChange += new OnChangeEventHandler(oraDependency_Change);

static void oraDependency_Change(object sender, OracleNotificationEventArgs eventArgs)  
    {  
    }

更多详情可以参考上述链接Click Here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多