![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
![]() Hola, quisiera saber como generar yo mensaje de error en caso de que el usuario no complete todos los campos declarados como NO nulos del lado de la base de datos, al hacer un insert o update. Lo estoy haciendo en el evento beforepost del clientdataset de la tabla en particular, pero lo que no me termina de convencer es que el mensaje aparece dos veces al producirse la excepción. El código que coloco en ese evento es el siguiente:
if cdsClientes.FieldByName('DESCRIPCION').IsNull then DatabaseError('Complete los campos marcados como obligatorios!!'); Suponiendo que el único campo que no puede tomar valor nulo es DESCRIPCION de la tabla CLIENTES. ¿Es correcto hacerlo asi? ¿Saben si se puede hacer de alguna otra forma? Muchas gracias! Muchas gracias!! |
#2
|
||||
|
||||
hazlos todos de una sola vez:
Tambien puedes hacerlo más eficiente con un bucle sobre Tfields, viendo si tiene la propiedad Required y despues comprobando si es nulo saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
|||
|
|||
Porque no lo haces en el evento "OnValidate" del dataset, se supone que para eso es.
Saludos! |
#4
|
||||
|
||||
Hola amigos, retomando el tema...
resulta que tengo una db firebird 2.5.4, en la que declaro unas excepciones; una de ellas es 'no_borrar'
en el código no sé cómo capturar la excepción de tal manera que sólo me aparezca el texto de la excepción sin que me diga el resto de cosas, ej. nombre de la excepción, trigger en el cual se ha lanzado, ubicación de la línea de código... yo sólo quiero la descripción del error "No puedes eliminar el registro porque..." De antemano gracias por vuestra ayuda Gustavo Cruz |
#5
|
||||
|
||||
Cita:
También has de notar que no es obligatorio usar el objeto lanzado. Incluso puedes hacer: Ese código mostrará el mensaje "[Ignorante] Hubo una excepción" independientemente de lo que haya en el objeto de excepción. De todas formas, no es recomendable. Mejor usar correctamente las excepciones: Así mostrará el mensaje de error, y únicamente el mensaje de error. |
#6
|
||||
|
||||
Tal y como comenta Ñuño, usa excepciones, y usalas sabiamente. No solo porque muestran un mensaje de error, sino porque ademas cortan la ejecucion del codigo
|
#7
|
||||
|
||||
Hola Ñuño, gracias por tu respuesta lo que no quiero es lo que aparece en la imagen que te adjunto.
Yo solo quiero es "Error al intentar borrar un registro protegido por el sistema" Gracias por vuestro tiempo Gustavo Cruz Última edición por GustavoCruz fecha: 27-10-2015 a las 18:26:50. Razón: Completar mensaje |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
|