| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
danigdj Cdt

Registrado: 09 Ene 2008Mensajes: 7
|
Publicado: Dom 24 Feb, 2008 8:50 pm Asunto: Error parametro... |
|
|
Este código me da error!!
Parameter not set in Query String
| Código: | DataModule1->QueryHabitaciones->SQL->Text="SELECT * FROM Habitaciones where NHabitacion <> any (select NHabitacion from ResHabitaciones where :Fecha1 between FEntrada and FSalida or :Fecha2 between FEntrada and FSalida)";
DataModule1->QueryHabitaciones->ParamByName("Fecha1")->AsDateTime=Edit1->Text;
DataModule1->QueryHabitaciones->ParamByName("Fecha2")->AsDateTime=Edit2->Text; |
Alguien me puede decir si ve algo mal??
Por cierto Fecha1 y Fecha2 están bien definidos |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Lun 25 Feb, 2008 8:35 am Asunto: |
|
|
Es que la clausula BETWEEN es al revés: Indicas entre que valores debe encontrarse una columna y no al revés. Es decir:
| Código: | SELECT Numero FROM Tabla1 WHERE Numero IN (SELECT Numero FROM Tabla2 WHERE Numero BETWEEN :Dato1 AND :Dato2) |
Tú lo que buscas es que un fecha Fecha determinada esté DENTRO de dos columnas FEntrada y FSalida. Es al revés. Creo que debería ser algo así:
| Código: | SELECT * FROM Habitaciones WHERE NHabitacion <> ANY (SELECT NHabitacion FROM ResGHabitaciones WHERE FEntrada BETWEEN :Fecha1 AND :Fecha2 OR FSalida BETWEEN :Fecha1 AND :Fecha2) |
Tienes que ver las colujmnas FEntrada y FSalida estén comprendidas en los valores que te interesa y no al revés. Y seguramente te valdría un NOT IN en lugar de <> ANY:
| Código: | SELECT * FROM Habitaciones WHERE NHabitacion NOT IN (SELECT NHabitacion FROM ResGHabitaciones WHERE FEntrada BETWEEN :Fecha1 AND :Fecha2 OR FSalida BETWEEN :Fecha1 AND :Fecha2) |
_________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
danigdj Cdt

Registrado: 09 Ene 2008Mensajes: 7
|
Publicado: Lun 25 Feb, 2008 9:50 am Asunto: |
|
|
Otra vez funcionando a la perfección!!!
Muchas gracias Angel, por cierto vivo cerca de ti en Talavera de la Reina
Un Saludo |
|
| Volver arriba |
|
 |
|