Delphi - COMO MANEJO DE ERRORES DE INTERBASE EN DELPHI?

 
Vista:

COMO MANEJO DE ERRORES DE INTERBASE EN DELPHI?

Publicado por NICK2004 (12 intervenciones) el 28/10/2004 17:39:54
HOLA DE NUEVO, AHORA TENGO ESTA DUDA: COMO CONTROLO LOS ERRORES QUE ME ENVIE EL MOTOR DE INTERBASE; POR EJEMPLO SI INTRODUZCO UNA LLAVE PRIMARIA QUE YA EXISTA EN VEZ DE QUE ME APAREZCA EL ERROR DE INTERBASE Y MI APLICACION TRUENE APAREZCA UN MENSAGE CORDIAL DE QUE LA LLAVE YA EXISTE. Y ASI CON OTROS ERRORES.

ESPERO PUEDAN AYUDARME

ATTE NICK2004
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:COMO MANEJO DE ERRORES DE INTERBASE EN DELPHI?

Publicado por skull leader (284 intervenciones) el 28/10/2004 18:17:34
no es muy dificil, en la excepcion, verificas que se trate de un error de interbase

on E: EIBInterbaseError do
begin
//E.Message es para que te muestre el mensaje de error tal como lo manda el motor
//E.IBErrorCode te muestra el codigo del error en entero


end;

lo que ocupas es cachar el SQLCode, eso esta especificado en la documentación de interbase
seria algo asi

(suponiendo que esto esta contenido en el codigo de arriba)
if E.SQLCode = -100 then //supongamos que -100 es el codigo de la violación de llave primaria, no recuerdo cual es, -807 creo, o le ando cerca
entonces puedes mandar un mensaje mas especifico y amistoso del error

espero te sirva, si ocupas mas ayuda, no dudes en preguntar
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:lo olvidaba...

Publicado por NICK2004 (12 intervenciones) el 28/10/2004 20:22:44
DISCULPA, ESPERO PUEDAS RESPONDER ESTA PREGUNTA TAL VEZ MUY TONTA PERO EN QUE PARTE ESCRIBO ESTE CODIGO QUE ME DISTE????? EN EL IBDATABASE, EN EL FORM ?????........

DISCULPA LA MOLESTIA.

ATTE NICK2004
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:lo olvidaba...

Publicado por skull leader (284 intervenciones) el 28/10/2004 22:30:42
no es molestia.
veo que no fui claro

en tu uses de tu form añades IB
cuando quieras capturar la excepcion pon el codigo algo asi, segun recuerdo

supongamos:
try
...
except
on E: EIBInterbaseError do
begin
if E.SQLCode = (alguno de los codigos) then
showmessage('mensaje que quieras, segun el error');
//asi lo haces segun los casos que quieras contemplar
end;

y eso es todo
ahora si creo hacer sido claro
espero te sirva, a mi si me sirvio
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:GRACIAS POR TODO

Publicado por NICK2004 (12 intervenciones) el 29/10/2004 19:14:36
YA LO HICE Y SI ME FUNCIONO GRACIAS.....

ATTE
NICK2004
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar