我正在使用 C# 开发 Windows 应用程序。我想在将新行插入特定表时显示气球通知。该应用程序将安装在多台计算机上,并通过 LAN 共享一个公共(public)数据库。目前我正在使用轮询来实现这一点。那就是应用程序将每秒查询数据库表以检查是否插入了新行。请告诉我这是正确的方法还是有更好的方法?我知道使用触发器我们可以在 SQL Server 中执行查询以插入表,但是是否可以从 SQL Server 向表中插入新行的特定应用程序发送回消息?请帮忙
最佳答案
我认为您可以结合使用 SQL CLR 触发器和 Win32 API 函数来完成此操作。使用 CLR 触发器将有助于避免轮询。
Here's an MSDN article关于编写 CLR 触发器。
显示的示例代码正在记录到某个审计表。交换该部分以调用 Shell_NotifyIcon Win32 API 函数。 Here's a sample from MSDN on using the Shell_NotifyIcon 显示气球通知。
实际的示例代码是on this page (搜索 notificationicon.zip)并用 C++ 编写,但是一旦执行 DLL 导入并使用 PInvoke,您应该能够为 C# 修改它。参见 this SO thread有关更多信息。
关于c# - 在表插入上显示窗口气球通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19770424/