【发布时间】:2015-05-15 23:18:12
【问题描述】:
可以从 vb.net 检测到表的触发器吗? 当您在管理系统中输入新订单时,我需要发送电子邮件,我在订单表中放置了一个触发器,但我需要知道日志条目何时从 vb 应用程序自动发送电子邮件。 我使用 MS SQL Express 2012 和 VB NET 2013。 感谢您的帮助。
【问题讨论】:
-
我建议您让触发器在工作表中创建一个新条目。然后让您的 VB 应用程序扫描工作表以查找新的、未处理的条目,但您希望经常检查它。当它发现未处理的条目时,它会处理它,发送和发送电子邮件,完成后更新条目,这样它就不会重新处理相同的条目。使触发器快速运行,因为它所做的只是将一条记录插入到保存 vb 应用程序的电子邮件工作队列的工作表中。
-
客户端程序不知道触发器的存在,这不是他们应该做的。有两种选择,从触发器本身发送邮件(可能,但根本不推荐)或在数据库操作成功后立即发送到客户端。
-
嗨 StarPilot,我完全按照你的建议做了,但我怎么知道有一个新记录未完成?有一个计时器,一个无限循环?但是我可以在应用程序上做更多的事情,我无法控制。有什么建议么?谢谢
-
嗨亚历杭德罗,我的问题是我不知道数据库操作何时完成。我做了一个触发器插入,在另一个表中插入一条新记录来记录操作,但是我如何启动应用程序来查看表中未工作的寄存器?会说,每分钟一次。必须使用计时器或适合做这项工作的东西,同时让我用应用程序做另一件事,比如更改参数,查询它的工作方式和其他内容,并且不要让应用程序冻结。
标签: sql-server vb.net tsql