Bueno, sería algo así:
Código Delphi
[-]
...
try
Tabla1.Post; except
on E:EDBEngineError do begin
if ((E as EDBEngineError).Errors[0].Errorcode = eKeyViol) then begin
Application.MessageBox('Imposible dar alta ese registro
ya existe','Atención',mb_Ok +
mb_IconQuestion);
end
else if....
end;
end
else begin
raise; end;
end;
Las constantes para los errores más comunes:
- eKeyViol = 9729;
- eRequiredFieldMissing = 9732;
- eForeignKey = 9733;
- eDetailsExist = 9734;
- eSqlGralerror = 13059;
No lo he compilado, espero no haber cometido muchos errores; Pruébalo y si tienes problemas ya dirás...