我执行一个SQL语句是用来执行一个存储过程的.
SQL='Exec ProZgc';
可是如果存储过程执行的时候出现了错误,那如何知道那????

解决方案 »

  1.   

    可以通过数据库的异常处理来返回参数来判断 例如在oracle 中
    begin
    select id into fun where tt=params and rowid=1;
    exception
    when no_data_found
    fun:=-1;
    end;  
      

  2.   

    1)execute是ORACLE中的Command、在Delphi中不認。
      SQL> execute ProZgc2)在Delphi中、要用TADOStoredProc或TStoredProc控件执行一个存储过程、
      静態手動接上後:
       ADOStoredProc1.Prepare;
       ADOStoredProc1.ExecProc;
      用上述句来執行...
      

  3.   

    create procedure myproc
    as
    declare 
      @ErrID int --存儲過程返回的錯誤代碼
    -- 在有可能出錯的語句後
    if @@Error <> 0 
    begin
      set @ErrID = ******
      return @ErrID 
    end
      

  4.   

    在调试的时候最好设置断点
    也可以用SHOWMESSAGE执行到某一段的时候弹出一个消息框。
     这样就很容易捕到SQL 语句的错语的具体位置