rt:
原本我考虑用定时器,但是我觉得有点浪费资源,而且是每分钟执行一次,感觉很慢,所以我想当在程序中某个地方向数据库中插入数据时,就触发程序执行一个动作,是不是要用到消息机制啊?但是怎么做还是个问题?希望高手指点一下

解决方案 »

  1.   

    给你一个思路,你可以在触发器里随意修改一个你创建的文件,在Delphi中监视这个文件的最后修改日期,如果日期变化你就可以调用你想要做的程序了...
      

  2.   

    ,所以我想当在程序中某个地方向数据库中插入数据时,//如果这个输入数据库的程序是你自己写的,那就不难了,adoquery有很多事件: afteredit,afterinsert……,你根据事件然后自己写入相关代码,就可以触发相应的“就触发程序执行一个动作”动作了;
      

  3.   

    sql2k 触发器-扩展存储过程-DLL
      

  4.   

    触发器的功能可以帮你实现
    adoquery有很多事件: afteredit,afterinsert……,你根据事件然后自己写入
      

  5.   

    具体怎么做啊!请大家提供一下具体的思路啊?
    to:枫叶 windows的任务怎么做啊?
    晕哦!!在详细说明一下我的情况:我卖了一个短信猫用来专门给客户发送短信,根据软件运行是产生的各种数据,比如客人是会员的在我们这里消费了或者存钱在卡上了,一旦这个动作成功后就立即发送一条相应的短信给该客人,我们的短信猫是接在服务器上的只有一个,所有的客户端都向服务器发送消息,如果会员消费或者存钱在卡上,有七八个客户端有可能同时向服务器发送消息要求服务器发送短信,原本我想用一个定时器每分钟刷新一次从库里取出相应的数据发送短信,但是感觉很慢,不太理想,后来又想用socket来做,但是我对这个东西不太了解,而且必须是多线程才行,单线程不行,最后退而求其次看看能不能在数据库里面做点文章,当数据库接受到一条从客户端发来的数据后就立即调用服务程序发送短信看这样能不能实现?还请大家多多指点啊!用那种方法比较好啊?如果用sokcet能不能给点代码看看?
      

  6.   

    同意:LocustWei(LocustWei)
    -------------------------------
    sql2k 触发器-扩展存储过程-DLL
    -------------------------------如果一定要在数据库实现的话,
    SQL Server在触发器里调用 扩展存储过程
    Oracle在触发器里调用 Java存储过程
      

  7.   

    扩展存储过程是一个 extern C 函数,该函数从 Win32 DLL 导出,并可以从 SQL Server 内部进行调用。扩展存储过程的调用方式类似于存储过程,但像任何已编译的进程一样在服务器上运行。不像 SQL Server 存储过程要求使用 SQL 语句,扩展存储过程允许使用 Win32 API。http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vccore/html/vcconUsingWizardToCreateExtendedStoredProcedure.asp
      

  8.   

    在DELPHI中用DATASET的AFTERPOST等系列事件,熟悉一下就可以了。。
    在MSSQL中用触发器就可以了。触发器尽量少用,特别在批量处理数据时,会很麻烦。