Fórum consulta agrupada em sql #47238
05/10/2004
0
como faço para juntar 3 ou mais parametros para uma mesma consulta de um campo. Ex. Preciso que uma query me retorne somente os produtos selecionados pelo cliente, tendei desta forma mas não dá´, só dá se eu colocar um item só sakas ? Estou precisando disso urgente, se alguem puder me ajudar ficarei grato ?
Produtos.Close;
Produtos.SQL.Clear;
Produtos.SQL.Add(´SELECT DESCRICAO FROM PRODUTOS WHERE (DESCRICAO =:PRODUTO1) AND (DESCRICAO =:PRODUTO2) AND (DESCRICAO =:PRODUTO3)´);
Produtos.ParamByName(´PRODUTO1´).AsSTRING := selecao.Items.Strings[0];
Produtos.ParamByName(´PRODUTO2´).AsSTRING := selecao.Items.Strings[1];
Produtos.ParamByName(´PRODUTO3´).AsSTRING := selecao.Items.Strings[2];
Produtos.Open; :roll:
[b:a04adf75f0][color=green:a04adf75f0]Título Editado(Saviski)[/color:a04adf75f0] - removido ´SOCORRO´[/b:a04adf75f0]
Produtos.Close;
Produtos.SQL.Clear;
Produtos.SQL.Add(´SELECT DESCRICAO FROM PRODUTOS WHERE (DESCRICAO =:PRODUTO1) AND (DESCRICAO =:PRODUTO2) AND (DESCRICAO =:PRODUTO3)´);
Produtos.ParamByName(´PRODUTO1´).AsSTRING := selecao.Items.Strings[0];
Produtos.ParamByName(´PRODUTO2´).AsSTRING := selecao.Items.Strings[1];
Produtos.ParamByName(´PRODUTO3´).AsSTRING := selecao.Items.Strings[2];
Produtos.Open; :roll:
[b:a04adf75f0][color=green:a04adf75f0]Título Editado(Saviski)[/color:a04adf75f0] - removido ´SOCORRO´[/b:a04adf75f0]
Delphus
Curtir tópico
+ 0
Responder
Posts
05/10/2004
Vinicius2k
[b:507fe4cfe5][color=red:507fe4cfe5]Notificação de Infração às Regras de Conduta :[/color:507fe4cfe5][/b:507fe4cfe5]
Colega,
Neste tópico ocorreu infração às Regras de Conduta do Fórum :
[list:507fe4cfe5][*:507fe4cfe5]Utilização de texto apelativo no título do tópico (SOCORRO).[/list:u:507fe4cfe5]
Peço que leia atentamente as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta[/url] para evitar que este fato se repita.
Se algum esclarecimento sobre o funcionamento do fórum ou sobre as Regras de Conduta for necessário, estou à sua disposição para ajudar-lhe. Se desejar, envie-me uma [url=http://delphiforum.icft.com.br/forum/privmsg.php?mode=post&u=2796]Mensagem Particular[/url].
Colega,
Neste tópico ocorreu infração às Regras de Conduta do Fórum :
[list:507fe4cfe5][*:507fe4cfe5]Utilização de texto apelativo no título do tópico (SOCORRO).[/list:u:507fe4cfe5]
Peço que leia atentamente as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta[/url] para evitar que este fato se repita.
Se algum esclarecimento sobre o funcionamento do fórum ou sobre as Regras de Conduta for necessário, estou à sua disposição para ajudar-lhe. Se desejar, envie-me uma [url=http://delphiforum.icft.com.br/forum/privmsg.php?mode=post&u=2796]Mensagem Particular[/url].
Responder
Gostei + 0
05/10/2004
Emerson Nascimento
preste atenção nas regras de conduta.
mas respondendo à sua pergunta, crie uma lista em tempo de execução e utilize a cláusula [b:5c48e55066]IN[/b:5c48e55066]:
sSelecao := ´´;
// monte sua lista aki:
for item := 0 to Selecao.Items.Count-1 do
begin
    sSelecao := sSelecao + QuotedStr(Selecao.Items.Strings[Item]);
    if item Selecao.Items.Count-1 then
        sSelecao := sSelecao + ´, ´;
end;
Produtos.Close;
Produtos.SQL.Clear;
Produtos.SQL.Add(´SELECT DESCRICAO FROM PRODUTOS WHERE DESCRICAO IN (´+sSelecao+´)´);
Produtos.Open;
mas respondendo à sua pergunta, crie uma lista em tempo de execução e utilize a cláusula [b:5c48e55066]IN[/b:5c48e55066]:
sSelecao := ´´;
// monte sua lista aki:
for item := 0 to Selecao.Items.Count-1 do
begin
    sSelecao := sSelecao + QuotedStr(Selecao.Items.Strings[Item]);
    if item Selecao.Items.Count-1 then
        sSelecao := sSelecao + ´, ´;
end;
Produtos.Close;
Produtos.SQL.Clear;
Produtos.SQL.Add(´SELECT DESCRICAO FROM PRODUTOS WHERE DESCRICAO IN (´+sSelecao+´)´);
Produtos.Open;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)