参看李维的ADO那本书,从ADOCONNECTION.ERRORS中提取出ado原生的错误码和
错误讯息。然后自己转换处理。试试。

解决方案 »

  1.   

    就是这样:p r o c e d u r e TForm4.ADODataSet1PostError(DataSet: TDataSet; E:
    EDatabaseError; v a r Action: TDataAction);
    v a r
    adoErrors : Errors;
    adoError : Error;
    iCount : Integer;
    b e g i n
    / /开始处理A D O的E r r o r s对象
    adoErrors := ADOConnection1.Errors;
    f o r iCount := 0 t o adoErrors.Count - 1 d o // Iterate
    b e g i n
    adoError := adoErrors.Item[iCount];
    lbADOErrors.Items.Add('Error Number : ' + IntToStr(adoError.Number));//lbadoerrors是个listbox.
    lbADOErrors.Items.Add('Error Source : ' + adoError.Source);
    lbADOErrors.Items.Add('Error Description : ' + adoError.Description);
    lbADOErrors.Items.Add('Error HelpFile : ' + adoError.HelpFile);
    lbADOErrors.Items.Add('Error SQLState : ' + adoError.SQLState);
    lbADOErrors.Items.Add('Error NativeError : ' +
    I n t T o S t r ( a d o E r r o r . N a t i v e E r r o r ) ) ;
    e n d ; // for
    e n d ;