Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Problema al poner fecha

Estas en el tema de Problema al poner fecha en el foro de Bases de Datos General en Foros del Web. Hola de nuevo, tengo una página de alquiler y cuando quiero buscar si un objeto está disponible en la base de datos para poder ser ...
  #1 (permalink)  
Antiguo 29/10/2007, 14:15
 
Fecha de Ingreso: junio-2007
Mensajes: 46
Antigüedad: 16 años, 10 meses
Puntos: 0
Problema al poner fecha

Hola de nuevo, tengo una página de alquiler y cuando quiero buscar si un objeto está disponible en la base de datos para poder ser alquilado, recojo mediante un formulario el dia-mes-año que desea ser alquilado el objeto. Los datos los guardo en un String alguien sabe que sentencia tengo que crear para ver si el objeto está disponible, mi sql que no funciona es la siguiente :

Select nombre From Alquileres where DateDiff('y', inicio_alquiler,fechaActual)<=0 and DateDiff('y', fin_alquiler,fechaActual)>=0

Donde inicio_alquiler y fin_alquiler es un tipo Date de la base de datos , y fechaActual es el String que recojo con forma :dd/mm/aaaa .

Muchas gracias.
  #2 (permalink)  
Antiguo 30/10/2007, 01:30
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Problema al poner fecha

Tu sentencia debería ser:

Select nombre From Alquileres where DateDiff('y', inicio_alquiler,'dd/mm/aaaa')<=0 and DateDiff('y', fin_alquiler,'dd/mm/aaaa')>=0

En la que 'dd/mm/aaaa' es el contenido del string ese en le que metes la fecha del formulario...

El formato de la fecha dependerá del tipo de base de datos con la que trabajes, y la forma de generar la senetencia dependerá del lenguaje de programación que emplees. Debes generar un string con toda la consulta insertando el valor de la fecha en el lugar adecuado...
Di qué base de datos empleas y te comento el formato de la fecha. Luego ve al foro del lenguaje que utilizas y pregunta como generar un string insertando variables en él.
__________________
Kelpie
  #3 (permalink)  
Antiguo 30/10/2007, 14:41
 
Fecha de Ingreso: junio-2007
Mensajes: 46
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema al poner fecha

Primero gracias por tu respuesta.
La base de datos que utilizo es acces, cuando imprimo una de las fechas que están en la base de datos me sale con aaaa/mm/dd, he probado a insertar el String con ese formato y el normal dd/mm/aaaa y me da fallo.El String lo construyo tal y como me sale el otro, pero tampoco, ¿Tendré que pasarle la fecha con un paso de parámetros en un Query?, que quedaría asi ?
Select nombre From Alquileres where DateDiff('y', inicio_alquiler,like ?)<=0 and DateDiff('y', fin_alquiler,?)>=0

y despues pasarle los parametros?
Muchas gracias
  #4 (permalink)  
Antiguo 31/10/2007, 07:03
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Problema al poner fecha

Access espera las fechas entre almohadillas (#) y en formato mm/dd/aa o mm/dd/aaaa. La consulta debería quedar así:
"Select nombre From Alquileres where DateDiff('y', inicio_alquiler,#mm/dd/aaaa#)<=0 and DateDiff('y', fin_alquiler,#mm/dd/aaaa#)>=0"

Los textos en azul son los que tienes que insertar desde tu variable, dando formato a la fecha recibida...



Si vas a pasar parámetros, debería ser (solo he quitado un 'like' de la tuya):

Select nombre From Alquileres where DateDiff('y', inicio_alquiler,?)<=0 and DateDiff('y', fin_alquiler,?)>=0
__________________
Kelpie
  #5 (permalink)  
Antiguo 31/10/2007, 12:51
 
Fecha de Ingreso: junio-2007
Mensajes: 46
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema al poner fecha

Gracias de nuevo por la respuesta, he probado con las # y va bien, y con el paso de parámetros despues le meto un tipo date conla fecha.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:20.