Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   hacer restriccion en una fecha con check.... (https://www.clubdelphi.com/foros/showthread.php?t=23097)

uper 06-07-2005 17:51:07

hacer restriccion en una fecha con check....
 
saludos

quesiera saber como hacer una restriccion para un campo de fecha, la intencion es que no se deje en blanco, el campo que tengo se llama asi empleado_FIngreso Date yo agrege una restriccion pero en el programa me da un error de string""........

alter table empelados add constraint empleado_FIngreso_res check(empleado_FIngreso<>'');

para el caso de las fecha como es.

muchas gracias

Osorio 06-07-2005 18:56:01

Lo que tienes que hacer es definir el campo como requerido, es decir, que no pueda quedar en blanco, Siempre hay que darle valores.

Esto se hace declarando el campo NOT NULL.

por codigo puede ser algo asi.


CREATE TABLE TBL_EMPLEADOS(
IDEMPLEADO VARCHAR(10) NOT NULL,
EMPLEADO VARCHAR(30) NOT NULL,
FECHAINGRESO DATE NOT NULL,
FCHARERITO DATE,
SALARIO NUMERIC(12,2) NOT NULL)

Si es con un manejador (IBManager, IBExpert, entre otros) ya cada uno tiene como editar el campo y habilitarle esto.

Saludos,

Dairo.

uper 06-07-2005 19:25:48

hola

bueno eso de agregar Not null no me funciona en este caso debido a que las restricciones las capto desde el programa con el evento onexception.
Es decir que se definio un archivo de configuracion restriccion.ini en donde voy agregando la biblioteca de restricciones para ser lanzadas desde la aplicacion y el usuario pueda decidir, los mensajes que se envian ya esta definidos en español.
para el caso de fecha como esta la restriccion con
empleado_FIngreso_res check(empleado_FIngreso ? ....)

Osorio 06-07-2005 21:34:42

Prueba,

empleado_FIngreso_res check(not(empleado_FIngreso is null))

Saludos.

rastafarey 11-07-2005 15:40:44

resp
 
Pero que tiene que ver el culo con las pentañas.

Si vas hacer un buen diseño de base no estes pendiende el como o quien lo va a usar eso es secundario.

Pero en tuca caso tambien se creaun arestriccion para los not null.

Tambien puedes usar una numeracion de resticciones y las envias desde tu archivo.

Por ejemplo.

En un triger para un campo fecha que debe contenr valor puedes usar if l afecha es null exception msg'1';
msg es una excecion en blanco.

Pero eso es buen apractica ya que estas dejando qu los datos viajen al servidor para hacer la validacion y eso es perder el tiempo en cosas innecesarias. mejor por que no vlaidas en el ciente. Y si deja las validadciones en el servidor para cuando no se conepten con tu aplicacion ya que en este caso no lo puedes evitar. Pero es mejor asegurarse que lo que llegue a la base de datos ya este bien validado y de esta manera te evitas el sobrecargo de la red. Y quitense esa mala costumbre de dejarle todo el trabajo a el manejador para que sus aplicaciones siemprre sean de buena calidad.

Te pongo un ejemplo si tu base aplicacion esta en usa y tu bd esta y tua plicacion corre en japon coneptandose a dicha base dedoatos vas a dejar que todas las validaciones se hagan en el servidor(y mas grave te imaginas que viajen varias imaganes y solo se tenga qu evalidar la fecha bueno yo de mi parte creo que eso es una locura. es este caso hasta una aplcacion echa en oracle(elcaro) no se portaria del todo bien).

No es un selmon si no que solo quiero que la gente hable bien de firebird. Asi que tambien ayudemos al menejador.

Otra solucion para acelerar tu aplcacion es taraete temporalmente las tablas que se usan muy frecuentemente y sufren pocos cambios y en el caso que s ecambie lansar un evento d eactulizacion con los cambios para que los clientes se actulicen y veran las mejora de tu aplicacion por mas malo que sea nuestro manejador.


La franja horaria es GMT +2. Ahora son las 10:09:03.

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