Criar Parametro nume query em tempo de execução

Delphi

10/02/2004

Prezados,

Como eu faço para criar parametros em tempo de execuçao em uma QUERY? Estou usando uma ADOQUERY.

Tentei isto:
with QSIPTPROP do begin
close;
SQL.Clear;
SQL.Add(´SELECT * FROM SIPTPROP´);
SQL.Add(´WHERE DNREFE = :PNREFE´);
Parameters.CreateParameter(´PNREFE´, ftSTRING, pdINPUT, 4, nil);
Parameters.ParamByName(´PNREFE´).Value := Edit1.Text;
open;
end;

Mas não funciona, não sei ouqe está faltando.

Agradeço a todos

Jairo


Jairo Norenberg

Jairo Norenberg

Curtidas 0

Respostas

Ronaldo

Ronaldo

10/02/2004

A query conhece o seu parâmetro, você pode informar o que ele é:

SQL.Add(´SELECT * FROM SIPTPROP´);
SQL.Add(´WHERE DNREFE = :PNREFE´);

Parameters.ParamByName(´PNREFE´).DataType = ftString;
Parameters.ParamByName(´PNREFE´).Value := Edit1.Text;

open;


GOSTEI 0
Jairo Norenberg

Jairo Norenberg

10/02/2004

Valeu Ronaldo, acho que eu estava complicando as coisas... Obrigado.

Jairo


GOSTEI 0
Anderson Carvalho

Anderson Carvalho

10/02/2004

Fala Jairo Norenberg, eu consegui.
O problema é um ultimo parametro.
Ou vc passa NULL ou passa o valor que o parametro vai receber
Exemplo Query.Parameters.CreateParameter('NOME',FtString,PdInput,40,null);
ou
Query.Parameters.CreateParameter('NOME',FtString,PdInput,40,'Jairo');

Espero ter ajudado
Abraços
Anderson
GOSTEI 0
Thiago Palmeira

Thiago Palmeira

10/02/2004

Só uma dica para aumentar a performance dessa query, tenta usar os nomes das tabelas e não o asterisco no "SELECT"
GOSTEI 0
POSTAR