Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Si es un error en la lógica del negocio, puedes crear tu propia excepción
Código SQL [-]
Create Exception eMinimoAlmacen 'No hay el mínimo de cantidad en el almacen'

y lanzarla desde un SP
Código SQL [-]
  exception eMinimoAlmacen

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 29-11-2005 a las 18:23:26.
Responder Con Cita
  #2  
Antiguo 29-11-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 23
lucasarts_18 Va por buen camino
Hola:

Gracias a ambos por la respuesta, logré compilar el procedimiento almacenado, pero existe algún código o algo que me indique un error genérico

algo así:

Código SQL [-]
Begin
    when Error_generico do 
    /*Instrucciones*/
End

Mi idea es en caso de cualquier error pueda entrar en el When

Gracias...Nuevamente

Hasta Luego -
__________________
No todo es como parece ser...
Responder Con Cita
  #3  
Antiguo 29-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
No lo he probado, quizás poniendo " when sqlcode <> 0 do "
El cero es operación exitosa.

He visto que se hace mención a la claúsula WHENEVER en el manual de FB, pero no sé su uso , posiblemente sea: "when Whenever do"

saludos y suete
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 29-11-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 23
lucasarts_18 Va por buen camino
Cita:
Empezado por Lepe
No lo he probado, quizás poniendo " when sqlcode <> 0 do "
El cero es operación exitosa.
Veré como anda esto, con referente al manual de firebird, a cual te refieres específicamente ?.

Gracias de nuevo..

__________________
No todo es como parece ser...
Responder Con Cita
  #5  
Antiguo 30-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Rectifico: es en el Data Definition Guide de Interbase 6. Descargable desde ibphenix (datadef.pdf)

pagina 142
Cita:
WHEN
{error [, error …] | ANY}
DO compound_statement

Error-handling statement. When one of the specified errors
occurs, performs compound_statement. WHEN statements, if
present, must come at the end of a block, just before END.

error: EXCEPTION exception_name, SQLCODE errcode or GDSCODE
number.

ANY: Handles any errors.
Código SQL [-]
  WHEN ANY DO
saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 30-11-2005 a las 18:07:19.
Responder Con Cita
  #6  
Antiguo 30-11-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 23
rastafarey Va por buen camino
Resp

Yo solo te dije como podias hacer lso de los erroes te pudes leer la lsiat d erroes desde el manual de interbase ya que son muchos.
A y otra cosa que te dicen con las excepciones si unas firebird1.5 o susperior puedes crear una sola exception vacion y dependiendo de donde se te de el error le concatenas al excepcion el erro que quieres que salg apero cuidate el que le largo d elaos errores no supere los 78 caractres bueno aunque aun nos e por que firebird aun tiene esa restriccion
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #7  
Antiguo 01-12-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 23
lucasarts_18 Va por buen camino
Hola:

Gracias nuevamente, estoy casi listo con esta duda:

me falla una sola cosa:

Código SQL [-]
 
begin
 
/*instruccion update*/
 
when any do
begin
  cod = 90;
  Exit;
end
cod = 0;
 
suspend;
end;

para que realmente compile bien debo quitar el cod = 0; y el suspend;
Cómo puedo arreglar esto ?
Mi idea es que si no se produce algún error pueda retornar un código, solo eso !!
Muchas Gracias...

Hasta luego -
__________________
No todo es como parece ser...
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 05:20:47.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi