FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
busqueda con un query
hola a todos, alguien puede decirme pq la consulta sql, sólo me busca por puesto específico??, y cual sería la solución?
query1.sql.clear; query1.sql.Add('SELECT JUGADORES.NOMBRE FROM jugadores inner join historial_jugadores on (jugadores.nombre=historial_jugadores.nombre) where (jugadores.PUESTO_ESPECÍFICO=:PUESTO_ESPECÍFICO and historial_jugadores.CATEGORÍA=:CATEGORÍA)'); Query1.Params[0].AsString := 'CATEGORÍA'; Query1.Params[1].AsString := 'PUESTO_ESPECÍFICO'; QUERY1.ACTIVE:=TRUE; QUERY1.CLOSE; QUERY1.PARAMBYNAME('CATEGORÍA').ASSTRING:=COMBOBOX1.Text; QUERY1.PARAMBYNAME('PUESTO_ESPECÍFICO').ASSTRING:=COMBOBOX3.Text; QUERY1.OPEN; |
#2
|
|||
|
|||
Hola, le estas pasando al query con la expresion:
Query1.Params[1].AsString := 'PUESTO_ESPECÍFICO'; el valor del parámetro debes quitar las expresiones: Query1.Params[..].ASstring... y QUERY1.ACTIVE:=TRUE; y seguir con lo que tienes Close; .... espero te sirva saludos a todos
__________________
Ernesto R. |
#3
|
|||
|
|||
Si te he entendido bien, me dices que solo con quitar las lineas
Query1.Params[0].AsString := 'CATEGORÍA'; Query1.Params[1].AsString := 'PUESTO_ESPECÍFICO'; QUERY1.ACTIVE:=TRUE; me llegaría, pero lo he probado y sigue igual, solo busca por puesto específico, mas bien, creo que los busca todos, a nos ser que el valor de categoría no lo tenga nadie, en ese caso no encuentra nada. |
#4
|
|||
|
|||
Hola:
Mira lo que pasa es que en tu primer mensaje esas las lineas que dices estaban de más porque luego pasabas el valor de los parametros al query. Lo que puede estar pasando pueden ser dos razones: la primera es que el valor Categoria no lo tenga nadie como tú bien lo dices; la segunda que el innerjoin te esté condicionando la consulta al no encontrar valores en la segunda tabla saludos
__________________
Ernesto R. |
|
|
|