Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Problemas con consulta sencilla (https://www.clubdelphi.com/foros/showthread.php?t=87615)

sac 30-01-2015 19:55:23

Problemas con consulta sencilla
 
Hola gente. Como dice el titulo tengo un problema con una sencilla consulta.
Tengo una tabla "Salidas" donde se encuentran los campos "comercio" e "Id_rubro" y una segunda tabla "rubrosSalidas"donde tengo los campos "Id_rubro" y "rubro".

Lo que quiero hacer es que a partir de un dblookuplistbox donde tengo todos los rubros listados de la tabla rubrosSalidas, al hacer un click sobre uno de ellos me liste en un DblookupCombobox los negocios de ese tipo de rubro.
La relacion la hago con los campos Id_rubro de cada tabla y la consulta que hago es ésta:

Código SQL [-]
Q_RubroSalida.Close;                  
     Q_RubroSalida.SQL.Clear;             
     Q_RubroSalida.SQL.Add('Select A.Comercio');
     Q_RubroSalida.SQL.Add('From Salidas A, rubrosSalida B');
     Q_RubroSalida.SQL.Add('where (B.rubro = :rubroselec) and (A.Id_rubroSalida = B.id_rubroSalida);

     Q_RubroSalida.parambyname('rubroselec').asString:= elijorubro.text;
     Q_RubroSalida.Active:=true

¿que es lo que estoy haciendo mal?

Jose Carlos Rey 30-01-2015 23:19:07

Hola que tal
a mi parecer el motivo del error puede ser por el espacio entre los : (dos puntos) y el parametro

Código Delphi [-]
Q_RubroSalida.Close;                  
     Q_RubroSalida.SQL.Clear;             
     Q_RubroSalida.SQL.Add('Select A.Comercio');
     Q_RubroSalida.SQL.Add('From Salidas A, rubrosSalida B');
     Q_RubroSalida.SQL.Add('where (B.rubro =:rubroselec) and (A.Id_rubroSalida = B.id_rubroSalida);

     Q_RubroSalida.parambyname('rubroselec').asString:= elijorubro.text;
     Q_RubroSalida.Active:=true
prueba quitando el espacio.

Saludos

Casimiro Notevi 30-01-2015 23:52:53

Falta la comilla de cierre:
Código Delphi [-]
Q_RubroSalida.SQL.Add('where (B.rubro = :rubroselec) and (A.Id_rubroSalida = B.id_rubroSalida');  //  <--


La franja horaria es GMT +2. Ahora son las 11:48:32.

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