Fórum Consulta Sql #240684

30/06/2004

0

Olá a todos,

Estou com uma duvida e, não estou conseguindo gerar uma consulta dinâmica em uma query. Bom tenho o seguinte problema:
Qdo eu digitar o numero em um DBEDIT, no evento on exit deste eu coloco o seguinte código:

procedure TfPagto.DBEdit2Exit(Sender: TObject);
var
maq : string;
begin
strtoint(dbedit2.Text); // com ou sem esta linha o erro é o mesmo
maq := dbedit2.Text;
with dm.qPagtos do
begin
close;
sql.Clear;
sql.Add(´select * from pagtos´);
sql.Add(´where codmaq = ´´maq´´´);
sql.Add(´order by data, codmaq´);
open;
end;
end;

Aparece uma mensagem com o seguinte erro:
ERRO DE CONVERSÃO DE STRING “MAQ” ”

O banco de dados que eu uso é o INTERBASE e as ferramentas são do IBX.
Onde eu posso estar errando?


Rkaliman

Rkaliman

Responder

Posts

30/06/2004

Bon Jovi

Vc está concatenando a variável dentro da string.

Corrigindo:

sql.Add(´where codmaq = ´ + maq);


Responder

Gostei + 0

01/07/2004

Paulo_amorim

Olá

Do jeito que vc colocou, ele não pegava a variável maq, mas sim a string ´maq´

Até+


Responder

Gostei + 0

02/07/2004

Maxymus

procedure TfPagto.DBEdit2Exit(Sender: TObject);
var
maq : string;
begin
strtoint(dbedit2.Text); // com ou sem esta linha o erro é o mesmo
maq := dbedit2.Text;
with dm.qPagtos do
begin
close;
sql.Clear;
sql.Add(´select * from pagtos´);
sql.Add(´where codmaq = ´´maq´´´);
sql.Add(´order by data, codmaq´);
open;
end;
end;


tenta assim:

with dm.qPagtos do
begin
dm.qPagtos.close;
dm.qPagtos.sql.clear;
dm.qPagtos.sql.add(´select * from pagtos where codmaq:=p1´);
{Onde p1 é um parametro ´String do tipo Input´ }
{em seguinta passa o valor que vc quer com a variável criada!!!}
dm.qPagtos.parambyname(´p1´).asstring:=mat;
dm.qPagtos.prepare;
dm.qPagtos.open;
end;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar