duvida com query

Delphi

26/11/2008

Ola, caros amigos

Eu estou com o seguinte problema eu uso uma ibquery(uso delphi7/firebird2.0/ibtable) para me trazer alguns dados e a campos calculados junto a ela , enquanto estou no form que ela funciona tudo correto , posso pedir nova pesquisa que tudo funciona certo, mas quando fecho o form e tento fazer outra pesquisa , sempre vem os dados da ultima pesquisa, ai tenho que encerrar o sistema e entrar denovo .

Esta ibquery pega informacao de um ibtable para fazer a pesquiza tipo

..... where coddev=´+dm.ibtbdevedorescoddev.asstring);


se alguem puder me ajudar

ps ja tentei desativas a ibquery quando fecho o form, ai piora pois nao vem nada.

Obrigado por enquanto.


Pattarelli

Pattarelli

Curtidas 0

Respostas

Maxymus

Maxymus

26/11/2008

isso está acontecendo por que vc está deixando a query aberta..

faça assim

suporte que vc tem uma table de clientes e quer selecionar todos os clientes:

Query1.close;
Query1.sql.clear;
Query1.sql.add(´select * from tbclientes´);
Query1.Open;

Observe que toda vez que a query é disparada ela fechar, passa os parâmetros e depois fecha... com isso, provavelmente deve ser o problema...

Descupe, acho que foi isso que entendi..


GOSTEI 0
Maxymus

Maxymus

26/11/2008

Só pra complementar, num passa os parâmetros da query assim naum..
faz assim

With Query1 do
begin
close;
sql.clear;
sql.add(´select * from tbclientes where codigo = :vcod´);
params[0].AsInteger := StrtoInt(dbedit1.text) // se for integer
Open;
end;

observe que :vcod é um parâmetro definido da query e passado pelo comando params[0].tipodocampo onde [0] é a sequencia do parâmetro.. se vc tivesse outro parâmetro como o nome :nome entao esse seria passao como params[1].tipocampo := dbedit2.text


GOSTEI 0
Pattarelli

Pattarelli

26/11/2008

Meu caro amigo,

Eu sou um iniciante, entao nao vi caca que eu fiz, criei um DM para colocar so as query com campos calculado , e coloquei para criala so quando o form era aberto , de alguma forma quando eu saia do form essa dm sumia , entao minhas query de calculo paravam de funcionar certo, para vc ver , se a gente nao observa certo fica que nem doido para resolver.

mas mesmo assim a sua dica como parametro foi de grande ajuda.

valew mesmo ..


obrigado


GOSTEI 0
POSTAR