我在MSSQLSERVER中建了一个存储过程,用ADOStoredProc1调用,请问怎样判断它是否成功执行

解决方案 »

  1.   

    执行后,查询下@@Error是否等于0,是表示成功,不是说明有问题。
      

  2.   

    create procedure aa
    @Flag bit output
    as
      delete from tablename where id<9
      if @@erroe<>0 
       @falg=0 
      else
       @flag=1
    go
    //===delphi   var
      ok:boolean;  ok:=adostoreproc1.parameters.parabyname['@falg'].value;
      

  3.   


    create                         PROCEDURE usp_RiJie
               ... 
      @Msg VARCHAR(255) OUTPUT
     AS
      
      Declare   
                @Goods_ID Varchar (18),@TGOut2 int,
                @LastRiJieDate Datetime,@EndRiJieDate Datetime,.......
                IF @@error>0 
    BEGIN ROLLBACK  TRANSACTION
            SELECT @Msg='保存到库存表失败!'
    RETURN
    END
    ELSE
    BEGIN         COMMIT TRANSACTION
            SELECT @Msg='SUCCESS'
    RETURN

    END
    你在程序中写如下语句:
     if Stp_StockMove.Parameters[2].Value  = 'SUCCESS' then
          Application.MessageBox('保存成功!','信息',mb_ok+mb_iconinformation);