Passar parâmetro em uma Query

Delphi

10/09/2003

Olá!
Tenho uma query passada através da propriedade SQL de um TQuery, sendo que gostaria de saber como posso um valor como parâmetro, não através do código, mas sim pelo ´String List Editor´.

Ex.:
select col1, col2
from tabela
where col1 = unit1.variavel

onde variavel=50
ou seja, pretendo passar o valor ´50´ da ´unit1´ na query


Bclr

Bclr

Curtidas 0

Respostas

Sousa_thiago

Sousa_thiago

10/09/2003

O SQL da Query ficaria assim :

select col1, col2
from tabela
where col1 = [b:0b2a260b6a]:col1[/b:0b2a260b6a]

//Quando for abri a query usa esse método
procedure form1.Abrir_Query;
begin
query1.close;
query1.ParamByName(´col1´).asinteger:=50;
query1.open;
end;

o sinal de : no SQL significa que akilo é um parametro, na sua query eu tenho uma propriedade que chama Param. nela vc deve configurar todos os parametros da sua query. ou seja nesse caso o parametro ´col1´ deve ser:
DataType : ftstring
ParamTypo : input

Espero ter ajudado
[]´s


GOSTEI 0
Bclr

Bclr

10/09/2003

Desta maneira eu estaria pegando o valor que a query selecionou, o que eu gostaria de fazer é passar um valor para esta query, que é algo do tipo:

O SQL da Query ficaria assim :
select col1, col2
from tabela
where col3 = [b:f7fd79256e]:valor[/b:f7fd79256e]

//Quando for abri a query usa esse método
procedure form1.Abrir_Query;
var
valor : integer;
begin
[b:f7fd79256e]valor := 15;[/b:f7fd79256e]
query1.close;
query1.ParamByName([b:f7fd79256e]valor[/b:f7fd79256e]).asinteger;
query1.open;
end;


GOSTEI 0
Ericfp

Ericfp

10/09/2003

Ola.
Realmente vc deve fazer assim:

Select col1, col2
from tabela
where col1 = [b:bd19a98c42]:col1[/b:bd19a98c42]

Ai vc forma o parametro pela propriedade PARAMS da QUERY.

//Quando for abri a query usa esse método
procedure form1.Abrir_Query;
begin
query1.close;
query1.ParamByName(´col1´).TipoDoParametro := Componente.PropriedadeComOValor
query1.open;
end;


Abraço.


GOSTEI 0
POSTAR