CREATE TRIGGER [AddGoods_Update] ON [dbo].[AddGoods] 
FOR  UPDATE
ASIf Update( GoodsCode )
  Begin
    --Begin TransAction
    
    RaisError ( '请删掉这笔记录,重新做一个!',16,1 )
    RollBack TransAction 
  End我如果把Raiserror ( ) 注释掉,就行了,关键是,我需要这个对话框呀

解决方案 »

  1.   

    begin trans
    If Update( jfd )
       Begin        Raiserror ( 'fjdiofslf',16,1 )
            RollBack TransAction
      End
      

  2.   

    CREATE TRIGGER [AddGoods_Update] ON [dbo].[AddGoods] 
    FOR  UPDATE
    AS
    Begin TransAction
    If Update( GoodsCode )
      Begin
        RaisError ( '请删掉这笔记录,重新做一个!',16,1 )
        RollBack TransAction 
      End
      

  3.   

    没有必要用到事务的啊
    去掉就好了
    如果要开始一个事务的话
    还要递交事务
    COMMIT TransAction
      

  4.   

    CREATE TRIGGER [AddGoods_Update] ON [dbo].[AddGoods] 
    FOR  UPDATE
    AS
    Begin TransAction
    If Update( GoodsCode )
      Begin
        RaisError ( '请删掉这笔记录,重新做一个!',16,1 )
        RollBack TransAction 
      End
    commit TransAction
    go
    要不这样试试,我也不清楚
      

  5.   

    事务的开始不要放在trigger里面。
    另外你这个trigger的意思是只要修改GoodsCode就提示错误并回滚事物,任何操作只要涉及到这样的修改就会提示,很危险啊,恐怕你的机器一直要做这事了。
      

  6.   

    你如果完全不让用户通过前台修改,为什么不在前台控制住呢?
    否则你在后台对这张表的修改也会触发trigger的启动的。
      

  7.   

    事务的开始不要放在trigger里面。
    另外你这个trigger的意思是只要修改GoodsCode就提示错误并回滚事物,任何操作只要涉及到这样的修改就会提示,很危险啊,恐怕你的机器一直要做这事了。是的,这个操作也只有修改了这个字段的值才会触发,要的就是这种效果,机器怎么会一直做这种事情呢?请明示?