Tabla1 es un nombre que te he puesto de ejemplo, pero puede ser cualquier nombre que quieras ponerle. Lo esencial es como dentro del codigo de la excepcion se puede averiguar el nombre del campo que falla.
Los valores de Exception de tipo E:Exception o E: DatabaseError no acompañan del nombre del campo que ocasiona el fallo solo del fallo en si. Eso es lo que me interesa averiguar.
Por ponerte un ejemplo para que lo veas claro
Supongamos tabla1 = clientes.db
Código:
try
tabla1.append;
tabla1.fieldbyname('CODIGO').AsString := Campo1;
tabla1.fieldbyname('NOMBRE').AsString := Campo2;
tabla1.fieldbyname('DIVISA').AsString := Campo3;
tabla1.fieldbyname('TARIFA').AsString := Campo4;
tabla1.fieldbyname('PROVINCIA').AsString := Campo5;
tabla1.post;
except
On E: DatabaseError do
begin
ShowMessage(e.Message);
end;
En donde Divisa, Tarifa y Provincia son campos que cuentan con integridad referencial hacia sus respectivas tablas.
Te salta un error al ejecutar el POST de tipo "Master missing record", que es lo que contiene e.Message
¿Como identificar que el error se produce en Tarifa, Divisa o Provincia?