FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
exceptions vs checks y FKs
Hola muchachos.-
Cuando yo creo un CHECK o una FK y trato de violarla aparece una mensaje de error mostrando el nombre del check o fk que no permite realizar el proceso mientras que si creo una excepcion puedo definir yo el mensaje que quiero que aparezca. Entonces, no me conviene mas implmentar los CHECKs y FKs por medio de excepciones? o tengo que hacer ambos que me proponen ustedes los genios? Lo mismo pasaria con los indices UNIQUE. Lo que no se es si se puede definir el mensaje para los CHECKs y UNIQUEs. Es decir, para sus propias restricciones Última edición por micayael fecha: 14-09-2005 a las 17:42:58. |
#2
|
||||
|
||||
Lo normal sería crear índices, checks y FK's; Cuando realizas una operación (incorrecta) con cualquiera de ellos "saltará" una excepción; En ese punto la capturas y mustras tu mensaje de error (normalmente más claro de cara al usuario).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
aahh. Eso esta interesante. pero como capturo ese momento? Ahi deberia llamar a mi exepcion.
|
#4
|
||||
|
||||
Bueno, sería algo así:
Las constantes para los errores más comunes:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Guuuaaaauuuuu.,
La verdad que es bien complejo todavia para mi. Para empezar no se ni siquiera si es un trigger o alguna otra cosa. Me podrias especificar eso (si es un trigger) Sabes de donde puedo encontrar informacion sobre los tipos de exepciones y sobre las variables que usas ahi para crear tu mensaje? Es propio de firebird? Es parecido al uso en visual basic. Yo estoy usando php Última edición por micayael fecha: 15-09-2005 a las 15:20:50. |
#6
|
||||
|
||||
Resp
Si uqieres personalizar aun mas tu errores lo puedes hacer el evento on exception ya que este captura todos lo errores.
Lee un poco sobre esto. Espero te sirva
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
#7
|
|||
|
|||
A mi parecer es mejor no alterar los mensajes estandar de la base de datos, simplemente se crean las restricciones de integridad y demas validaciones centralizadas en la misma; luego a traves del lenguaje de programacion, sea Delphi u otro, se capturan las excepciones generadas por la BD y los codigos de error programando los mensajes correspondientes.
Sin embargo, si insistes en hacer lo tuyo, primero bajate el manual de interbase desde el foro. De alli tome este ejemplo de como crear una excepcion en Firebird Esta sentencia sql crea una excepcion llamada TuExcepcion: Código:
CREATE EXCEPTION TuExcepcion ’Numero de empleado invalido'; Código:
. . . WHEN SQLCODE -530 DO EXCEPTION TuExcepcion; ....
__________________
SigmaMan |
#8
|
|||
|
|||
Me das una manito hombre sigma. cual es el manual?
Estoy buscando por la web y no encuentro ese manual. Por lo menos si me dices el nombre del manual asi lo busco. Eso que me dices es mas o menos lo que quiero. por ahi puedo crear una tabla con los tipos de errores y en todo caso los consulto desde el cliente. |
#9
|
||||
|
||||
De esta página, bajatelo todo, todo ;-)
http://www.firebirdsql.org/index.php?op=doc&id=userdoc * As individual zipped PDF files: * API Guide (1.69mb) * Data Definition Guide (1.20mb) * Developers Guide(1.46mb) * Embedded SQL Guide (1.36mb) * Operations Guide (1.45mb) * Language Reference (1.28mb) * Getting Started (0.43mb) * Migration Guide Data definition guide, Developers Guide, los he leido en vacaciones y no tienen desperdicio alguno. (no entiendo de libros de lectura ni literatura, así que pillé esos 2) Language Reference, es para tenerlo a mano y consultar la sintaxis concreta de cada cosa, una vez que ya tienes los conocimientos. Un saludo |
#10
|
|||
|
|||
excelente maestro. Te debo una.
|
#11
|
|||
|
|||
__________________
SigmaMan |
|
|
|