问题描述
数据库修改记录已经可以触发并顺利调用这个DLL了,但是怎么才能在调用的DLL里给主窗体程序传送数据呢?比如把消息显示在主窗体的文本框上或者在DLL里调用主窗体的方法?//////////////////////////////////////触发器调用的DLLusingSystem;usingSystem.Data;usingSystem.Data.SqlClient;usingMicrosoft.SqlServer.Server;namespaceSQLTrigger{publicpartialclassTrigger1{[Microsoft.SqlServer.Server.SqlTrigger(Name="UF_DML_Trigger",Target="dbo.news",Event="FORINSERT,UPDATE,DELETE")]publicstaticvoidUF_DML_Trigger(){switch(SqlContext.TriggerContext.TriggerAction)//判断触发类型{caseTriggerAction.Insert:SqlContext.Pipe.Send("TriggerInsert");//在数据库发消息break;caseTriggerAction.Update:SqlContext.Pipe.Send("TriggerUpdate");break;caseTriggerAction.Delete:SqlContext.Pipe.Send("TriggerDelete");break;default:break;}}}}
解决方案
解决方案二:
用WINDOWS消息吧
解决方案三:
不如建立一个消息提醒表,你要是想给谁提醒就在表中增加一条数据,开一个线程去寻,消息表有数据就提醒。