Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-06-2004
azaagh azaagh is offline
Miembro
 
Registrado: jun 2004
Posts: 34
Poder: 0
azaagh Va por buen camino
variables y querys

e creado esta consulta
Código SQL [-]
size="1">SELECT logo
FROM equipos
where nombre = :sEquipo;

en un componente query de BDE para paradox....
sEquipo es una variable GLOBAL, que se encuentra en una unit

esta unit esta en los uses del datamodule donde se encuentra el componente query

me da el siguiente error al activar el query:

equipos: fields 'sEquipo' not found.

a que se debe? no encuentro el error....haber si podeis echarme un cable!!
Responder Con Cita
  #2  
Antiguo 08-06-2004
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Confundes los terminos.
Cuando pones : parametro, parametro es un idem dentro de la query, que no tiene nada que ver con tu variable global/local/oloquesea.

Para que tu query funcione tienes que asignar el valor al parámetro de la query el valor de la variable antes de abrirla.

Query.ParambyName('Parametro').AsString:= Variable;
Query.Open

Con esto te valdría.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -

Última edición por santana fecha: 08-06-2004 a las 13:43:58. Razón: Error tipográfico. :p muestra un icono gestual
Responder Con Cita
  #3  
Antiguo 08-06-2004
azaagh azaagh is offline
Miembro
 
Registrado: jun 2004
Posts: 34
Poder: 0
azaagh Va por buen camino
e pensado lo que has dicho...
y he puesto
Código Delphi [-]
Query.ParambyName('sEquipo').AsString:= sEquipo;
Query.Open;
en un evento de form (oncreate)...

pero de nuevo hay algo k se me escapa....porque no funciona (aunque ya no da error)
y la ayuda de delphi no me ayuda mucho en este caso...

edito: SI da error al activar el query

Última edición por azaagh fecha: 08-06-2004 a las 11:00:01.
Responder Con Cita
  #4  
Antiguo 08-06-2004
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Si lo haces en el OnCreate del formulario, seguro que es nulo el valor de la variable y por eso no te saca ningún valor.
Tendrás que hacer la asignación del valor del parámetro en el evento BeforeOpen de la query o asegurarte de que se hace cada vez que se abre la query.
Personalmente además yo no llamaría al parámetro de la misma manera que la variable, aunque no teiene porqué darte errores.

Espero que te sirva de ayuda.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #5  
Antiguo 08-06-2004
azaagh azaagh is offline
Miembro
 
Registrado: jun 2004
Posts: 34
Poder: 0
azaagh Va por buen camino
mmm....he probado como dices, pero me daba fallo....asi que cambie el nombre del parametro y dejo de darme fallo...

pero sigue sin funcionar.

te hare un breve resumen de como esta la cosa actualmente:

tengo un query con este codigo, asociado a un dbimage:

SELECT logo
FROM equipos
where nombre = :equipo;


tengo un evento en el query beforeopen con este codigo:
Código Delphi [-]
dm1.fotoequipo.ParambyName('equipo').AsString:= sEquipo;

y tengo en el evento oncreate del form y tambien en un boton (por probar):
[dephi]
dm1.fotoequipo.open;
//tambien he probado con:
dm1.fotoequipo.active := true;
[/delphi]

dm1 es un datamodule
fotoequipo es el nombre del query
Responder Con Cita
  #6  
Antiguo 08-06-2004
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Imagino que sEquipo tiene algún valor, y que existen registros con ese valor en el campo por el que filtras; por lo demás parece que está bien el código.



Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #7  
Antiguo 08-06-2004
azaagh azaagh is offline
Miembro
 
Registrado: jun 2004
Posts: 34
Poder: 0
azaagh Va por buen camino
el problema es que, al intentar poner al componente dbimage la propiedad DATAFIELD, me salta un error:

equipos: field 'equipo' not found...es decir, que el parametro me lo esta cogiendo como columna, y no como variable...

seguro que se pone con los dos puntos para coger una variable externa?
Responder Con Cita
  #8  
Antiguo 08-06-2004
azaagh azaagh is offline
Miembro
 
Registrado: jun 2004
Posts: 34
Poder: 0
azaagh Va por buen camino
llevo hoy todo el dia dandole vueltas al codigo.........

en teoria, ahora esta perfecto, pero me da el siguiente error al activar el query:
fotoequipo: Field 'equipo' is of an unknown type

fotoequipo es el nombre del query
equipo es el parametro
Responder Con Cita
  #9  
Antiguo 09-06-2004
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Intenta definir el tipo de parámetro en tiempo de diseño.
Otra cosa que puedes hacer es ver si tienes los campos creados en el query ( Doble click sobre el query ). Si es así, borralos todos y vuelve a intentarlo.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
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 04:41:55.


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