Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-07-2005
uper uper is offline
Miembro
 
Registrado: abr 2004
Posts: 296
Poder: 21
uper Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 06-07-2005
Avatar de Osorio
Osorio Osorio is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 251
Poder: 21
Osorio Va por buen camino
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.
Responder Con Cita
  #3  
Antiguo 06-07-2005
uper uper is offline
Miembro
 
Registrado: abr 2004
Posts: 296
Poder: 21
uper Va por buen camino
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 ? ....)
Responder Con Cita
  #4  
Antiguo 06-07-2005
Avatar de Osorio
Osorio Osorio is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 251
Poder: 21
Osorio Va por buen camino
Prueba,

empleado_FIngreso_res check(not(empleado_FIngreso is null))

Saludos.
Responder Con Cita
  #5  
Antiguo 11-07-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
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.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
Respuesta



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 01:17:08.


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