Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SQL中触发C#dot net中的事件?_C#_Sql_Sql Server - Fatal编程技术网

如何在SQL中触发C#dot net中的事件?

如何在SQL中触发C#dot net中的事件?,c#,sql,sql-server,C#,Sql,Sql Server,我不想通过给出这个要求的实际原因的所有细节而使事情复杂化。因此,我将尝试给出一个简单的示例 以下是我的要求: 1) 每当名为stock的表中的值发生变化时,弹出消息框。 2) 简单地说,如果我在MS SQL中运行以下查询: update stocktable set stockcount = 4 where StockID = 1111 然后,我的应用程序应该识别出值发生了变化,所以它应该在我的应用程序的MessageBox中给我一个弹出窗口 我已经尝试了以下方法: 我已经能够做到这一点,通过

我不想通过给出这个要求的实际原因的所有细节而使事情复杂化。因此,我将尝试给出一个简单的示例

以下是我的要求:
1) 每当名为stock的表中的值发生变化时,弹出消息框。
2) 简单地说,如果我在MS SQL中运行以下查询:

update stocktable set stockcount = 4 where StockID = 1111
然后,我的应用程序应该识别出值发生了变化,所以它应该在我的应用程序的MessageBox中给我一个弹出窗口

我已经尝试了以下方法: 我已经能够做到这一点,通过使用计时器每秒检查库存数量。 但就性能而言,这是不可行的。因为如果说有500个用户,那么在所有500台计算机上,每天将有500(人)*12(小时)*60(分钟)*60(分钟)。 因此,我可以想到的另一种方法是调用函数仅在有更改时显示MessageBox,而不是每秒检查应用程序的更改。
请帮忙。我正在Visual Studio中使用C#编写此代码。后端是MSSQL。

您对更改的值感兴趣吗? 如果不是的话,你可以试试像。。

了解你绝对不想考虑触发器-触发器应该是快速的和本地的(最好不要试图访问自己数据库之外的任何资源)@Damien_非信徒感谢你的建议。但如果不是触发,那么什么可能解决这个问题呢?佐哈尔提出了一个建议。@ZoharPeled感谢您的建议。这篇文章看起来是可能的解决方案。我将实现并测试它,如果它有效的话,我将更新这篇文章。非常感谢你的意见。谢谢你的回答。但我不是在寻找本文中提到的内容。我需要新的值并将其显示在MessageBox上。