最近做一个监控数据库(DB)的小程序,如果数据库中某条记录被修改了,要能够检测到是哪条记录被修改了,不知有什么方法没有?

解决方案 »

  1.   

    如果用 触发器 如何把修改的记录的值传递到另一个程序中?
    继续关注ing
      

  2.   

    在进行update操作时会有两个临时表生成它们分别是:deleted和inserted。因为update的执行过程是先删除已有的要修改的那个纪录,然后再插入一条修改好的记录。然而它删除的记录就保存在deleted表里面,修改后的记录就保存在inserted里面。既然它的相关记录都在这个表里面了,你说把这些数据传到程序中还难吗?不过请记住一点,这两个表都是系统临时表,一旦再次执行相关语句(delete insert updae)后里面数据就被改变了。
      

  3.   

    肯定是触发器最方便,如果你的数据库用interbase的话,你的触发器可以直接把消息通知你的应用程序,不过你得使用interbase delphi 组件。
      

  4.   

    如果數據庫是sql的話.直接在sql上面的table裡面做触发器,把改了的記錄插到你相對應開的log表中.