PDA

Ver la Versión Completa : captura de Error de Interbase


digital
25-06-2003, 03:34:55
Hola
como puedo capturar este error EDataBaseError: Field Nombre_Producto Must Have a Value

Estoy utilizando Interbase ,Delphi5 + IBX

tengo este codigo pero no captura el error


try
dmDepend.dbDepend.Post;
except
on E:EIBError do
begin
case EIBError(E).IBErrorCode of
isc_unique_key_violation: MessageDlg('El Numero Existe', mtError, [mbOK], 0);
isc_invalid_operator, isc_not_valid: MessageDlg('Falta Capturar algun Dato', mtError, mbOK], 0);
end;
end;
end;

Kafu
25-06-2003, 09:51:53
He mirado la unit iberrorcodes.pas en c:\archivos de..\borlad\delphi\source\vcl\
y no sé qué constante corresponde a ese error. Pero puedes forzar esa excepción, intenta hacer un post sin dar valor a un campo required (creo que es eso) y evalua en el except el iberrorcode de la excepción. Luego buscas el valor en la unit y ya tienes la constante. Un saludo,



F.T.G.

Kafu
25-06-2003, 10:22:14
Retiro lo dicho. Ahora entiendo tu pregunta. Lo cierto es que el error lo da el checkrequiredfields de la unit db, así que probablemente la operación ni llega al servidor, la excepcion te la lanza el dataset que hace el post, que ya conoce los campos required antes de lanzar el post contra el servidor. Puedes recoger el error (no es una excepción eiberror sino una edatabaseerror) en el evento onerror del dataset, o en un try except que no mire sólo ese tipo de excepción, aunque identificar esa excepción en concreto a mí ya se me escapa. Un saludo,







F.T.G.