在更改数据库时使用Linq更新DataGridView

时间:2014-06-19 12:49:21

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

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

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

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

我希望在数据库发生变化时显示符号,就像StackOverflow上的那样,当问题发生变化时(它告诉你有变化)。

在LINQ上实现此目的的最佳方法是什么?我想也许我必须执行数据库查询(例如在计时器滴答声中)并查看是否有更改。如何在不使用太多硬件资源的情况下实现这一目标?

DBMS:MSSQL 2005或2008

1 个答案:

答案 0 :(得分:0)

您可以使用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