在Delphi中用Ado操作数据库,如何捕获数据库捕获的错误?

解决方案 »

  1.   

    try...except...finally...end灵活运用,完全能够满足你的要求!
      

  2.   

    如果有用存储过程 的话有个系统变量@@error判断它是否=1,就是出错
      

  3.   

    可能我说的不太明白:
     我的意思是说:比如在MSSQL中,服务器方
      在一批处理程序中用Print或RaiseError向客户方回传信息
     在Delphi中如何捕获这类信息!
      
      
       
      

  4.   

    function TConnectForms.ShowError:String;
    var
        Errormessage : String;
        adoErrors    : Errors;
        AdoError     : Error;
        iCount       : Integer;
    begin   adoErrors:=DM1.ADOConnection1.Errors;
       Errormessage:='您的操作存在以下错误:'+#13
                    +'----------------------';
       for iCount:=0 to adoErrors.Count-1 do begin
          adoError:=adoErrors.Item[iCount];      Errormessage:=Errormessage+#13#13
                        +'错误码:'+IntToStr(adoError.Number)+#13
                        +'错误来源:'+adoError.Source+#13
                        +'错误内容:'+adoError.Description+#13
                        +'错误SQLState:'+adoError.SQLState+#13
                        +'本地错误码:'+IntToStr(adoError.NativeError);
       end;
       Result:=Errormessage;
    end;//看看有没有用...