Senhores bom dia, gostaria de pedir o auxílio dos senhores para a questão do tratamento de error que o ADO retorna para o Delphi, estou usando uma validação no evento OnUpdateError, porém não estou tendo sucesso, pois vários erros são detectados e a minha validação está falha. Sei que meu código está incompleto, pois não está trabalhando corretamente a exceção retornada.
Eis o código:procedure TClasseBasica.prvBasicoUpdateError(Sender: TObject; DataSet: TCustomClientDataSet; E: EUpdateError; UpdateKind: TUpdateKind; var Response: TResolverResponse); var I: Integer; NomeCampo : string; mensagem : string; begin if e.ErrorCode = -2147217873 then begin for I := 0 to qryBasica.Fields.Count - 1 do begin if StrUtils.ContainsStr(e.Message,DataSet.Fields[i].FullName) then begin NomeCampo := qryBasica.Fields[i].DisplayLabel; Break; end; end; mensagem := 'O campo +NomeCampo+'> não pode ter seu valor duplicado na base!'+#13#10+ 'Por favor altere o valor fornecido para esse campo.'; raise Exception.Create(mensagem); end else raise Exception.Create(E.OriginalException.Message); end; Minha intenção era de filtrar os erros do tipo: Índice único, campo não pode ser null, etc... Minha dúvida está em como detectar esses erros, quais são e como trabalhar corretamente esses códigos retornados pelo ADO. Se alguém puder me ajudar ficarei muito grato! [As partes desta mensagem que não continham texto foram removidas]