c# - 在表插入上显示窗口气球通知

标签 c# sql-server windows

我正在使用 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/

相关文章:

c# - 通过 global.asax 在应用程序中保留数据

sql-server - 检索查询中的最新记录

windows - 将批处理命令(forfiles)的输出存储到变量中

windows - ImageMagick 在 Windows 和 Linux 上制作不同的图像

c# - 如何正确获取 Java 中的当前时间?

c# - 以编程方式登录到 Crystal Reports Server

C# p/invoke,从所有者绘制的列表框中读取数据

c# - 使用 Linq to sql 在子表中插入数据(3 层架构)

sql-server - 使用 Coldfusion 提交查询时 SQL 语法错误

html - 在电子邮件中的链接中使用环境变量