Fórum Consulta Sql #240684
30/06/2004
0
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
Curtir tópico
+ 0Posts
30/06/2004
Bon Jovi
Corrigindo:
sql.Add(´where codmaq = ´ + maq);
Gostei + 0
01/07/2004
Paulo_amorim
Do jeito que vc colocou, ele não pegava a variável maq, mas sim a string ´maq´
Até+
Gostei + 0
02/07/2004
Maxymus
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;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)