请邹建大侠解答一下。关于触发器调用dll的问题?谢谢.

Atomictry 2004-06-22 03:52:56
怎么通过触发器(假设是insert触发器)发消息给应用程序(因为对方insert一条记录到我的数据库后就完成了他的工作,而我要用应用程序处理这条记录)?
本来我是这样处理:
1.写一个dll(该DLL由触发器调用)。
2.当有数据插入后,由触发器调用该dll中的某个函数,该函数用SendMessage(HWND, WM_INSERTMSG, NULL, NULL)到应用程序,或者干脆将该函数写成回调。
3.但是发现应用程序并没有收到自定义的WM_INSERTMSG消息。
不知道为什么收不到,是不是因为供数据库调用的dll和应用程序dll不一样?

经过我再测试:
1.两种dll格式:
a).在insert触发器调用的dll中,应用程序收不到来自dll的SendMessage()。
b).把insert触发器调用的dll改写成由应用程序调用的dll格式(两种dll的格式只是存在一点变化),发现应用程序是可以接收消息。

2.通过写文件的方法:
a).发现由触发器调用的dll中的hWnd确实有问题,是0(NULL)
b).改写成应用程序调用的dll中SendMessage参数hWnd值和Spy++一样。
c)PostMessage( HWND_BROADCAST, WM_INSERTMSG, NULL, NULL );也收不到。

不知道是什么问题?您一般是怎么解决此类问题的?
...全文
131 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Atomictry 2004-06-23
  • 打赏
  • 举报
回复
那也谢谢你,感觉你挺烦了。大家都找你。^_^

这方面的技术文章确实也难找,真的没办法我只能把记录触发到另一张表中。
通过一个线程不断的查询这张表了,但是效率也太...
zjcxc 2004-06-22
  • 打赏
  • 举报
回复
不过,程序设计的事不太会,所以这个问题应该帮不上什么忙
aivii 2004-06-22
  • 打赏
  • 举报
回复
up
zjcxc 2004-06-22
  • 打赏
  • 举报
回复
试试直接在存储过程中调用DLL能否发信息.

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧