Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   consulta en IBSQL (https://www.clubdelphi.com/foros/showthread.php?t=23873)

perillan 01-08-2005 13:20:56

consulta en IBSQL
 
Alguien me puede indicar porque esta consulta en un IBSQL no me funciona.
Con un valor solo no hay problema pero cuando le pongo el AND para la segunda
la secuencia no se realiza.
Un saludo.

SELECT * FROM TELEFONO
Where TBON=:valor1 and TDESTINO=:valor
order by TDESTINO

Neftali [Germán.Estévez] 01-08-2005 13:39:32

¿Te dará algun error, no?
¿Cual es?
¿Cual es el código que utilizar para lanzar ésta consulta?

perillan 01-08-2005 13:59:45

Tengo dos Combos y a los que se les da un valor antes de lanzar la consulta en un QuickRep.

Pero haciendolo directamente en el QuickRep. con un Preview y asignandole unos valores con el AND no saca ningún resultado y si le pongo el OR con una condición sola si que lo saca.



InforZubicacion.IBQuery1.Params.ParamValues['valor1']:='combo1;
InforZubicacion.IBQuery1.Params.ParamValues ['valor']:=combo;

Crandel 01-08-2005 19:41:29

POsiblemente no sea un error, sino que le estas asiganado mal los valores de los parámetros

perillan 01-08-2005 20:11:08

No creo que este signando mal los valores, pero no se lo que puede ser.
Estoy haciendo unas pruebas y con una base de dados de dbse en un SQL
y funciona perfectamente y esta misma en interbase con un IBSQL en un QuickRep (Preview) y creo que esta correcta pero no funciona. Es esta misma:


SELECT *from ARTICULOS
WHERE
BASEDATOS='MAQUINAS' and
BONDESTINO='CAMINOS'

Neftali [Germán.Estévez] 02-08-2005 09:21:37

¿Has cambiado entre mayúsculas y minúsculas?
Prueba con el operador LIKE.

perillan 02-08-2005 10:24:10

El problema no son las mayúsculas ni minúsculas pues quitando el AND y haciendo la búsqueda con una sola de las secuencias cualquiera que sea funciona, y es más si le quitamos en AND y lo sustituimos por un OR también funciona. No se porque no funciona con el AND que es lo que necesito, o sabeis algún otro operador que realice las mismas funciones?.
Un saludo

Neftali [Germán.Estévez] 02-08-2005 11:19:31

Cita:

Empezado por perillan
...es más si le quitamos en AND y lo sustituimos por un OR también funciona. No se porque no funciona con el AND que es lo que necesito, o sabeis algún otro operador que realice las mismas funciones?.

Revisa los datos, si con el OR salen y con el AND no, es que ambas condiciones no se cumplen.
Dudo muchísimo que exista un error en el operador AND (vamos, pondría la mano en el fuego); Así que no busques otro operador que haga lo mismo por que ese es el que necesitas.
Vuelve a revisar los datos que te devuelve con rl OR para ver que hay alguno que ciumpla ambas condiciones; Revisa que no existan espacios y caracteres por el estilo (no visibles) que hagan que la condición no se cumpla.

perillan 16-08-2005 10:02:23

Neftali: Perdona que no siguiera con el tema, pero bueno he estado unos días de descanso y lo deje ahí pendiente.

He vuelto a revisar los datos y hacer la consulta directamente en las propiedades SQL del IBQuery y haciendo las consultas por separado ejemplo:



SELECT *from ARTICULOS
WHERE
BASEDATOS='MAQUINAS'


order by BASEDATOS

-Esto funciona correctamente.



SELECT *from ARTICULOS
WHERE
BONDESTINO='CAMINOS'


order by BONDESTINO

-Esto también funciona correctamente.



SELECT *from ARTICULOS
WHERE
BASEDATOS='MAQUINAS' or BONDESTINO='CAMINOS'


order by BASEDATOS,BONDESTINO

-Esto también funciona correctamente.



SELECT *from ARTICULOS
WHERE
BASEDATOS='MAQUINAS' and BONDESTINO='CAMINOS'


order by BASEDATOS,BONDESTINO

y esto no me da ningún resultado, así es que no se que pensar ni que hacer ya que como veis aquí no hay ni espacios ni caracteres extraños.


Neftali [Germán.Estévez] 16-08-2005 10:14:37

Si hay registros que cumplan ambas condiciones a la vez deberían aparecer. No veo ningun error.

Casimiro Notevi 16-08-2005 11:55:23

Está claro que no hay registros que cumplan esas condiciones

perillan 16-08-2005 18:53:47

Sí que hay registros que cumplan estas condiciones, por eso yo tampoco lo entiendo.

Casimiro Notevi 16-08-2005 23:19:33

Por qué no nos envías un script sql con la creación de la tabla y algunos registros?, así podemos probarlo nosotros y ayudarte mejor.

perillan 17-08-2005 11:09:15

He hecho de nuevo el volcado de Access a la base de Interbase con la que trabajaba y ahora funciona correctamente, el motivo no lo se.
Un saludo y muchas gracias por todo.


La franja horaria es GMT +2. Ahora son las 09:41:34.

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