Query da erro e trava a rotina

02/09/2004

0

Pessoal,

preciso de uma ajuda ..., tenho o seguinte codigo:

// dmtabelas.TProduto.First;
// ProgressBar2.Max := dmtabelas.TProduto.RecordCount;
// ProgressBar2.Position := 0;
// while not DMTabelas.TProduto.Eof do
// begin
// dmtabelas.TProduto.Edit;
// frmprod.atualizaPreco;
// dmtabelas.TProduto.Post;
// ProgressBar2.Position := ProgressBar2.Position + 1;
// dmtabelas.TProduto.Next;
// end;
// dmtabelas.TProduto.close;
// dmtabelas.TProduto.FreeOnRelease;

Em frmprod.atualizaPreco , tenho uma Query onde seleciono o preciso e faco a alteracao na tabela de PRodutos (do item que esta no dataset).

Qdo a tabela de produtos tinha pouco registro ... ia q era uma beleza ..., so que agora que tem muitos registro , inicio a rotina e qdo esta +/- no meio dos registros da um erro
´Access Violation ´ e numero do endereco de memoria e trava a maquina.

Naum sei mais que faco pra resolver isso..

alguem poderia me dar alguuma ajuda ?

Obr

Marcel


Scandolara

Scandolara

Responder

Posts

02/09/2004

Macario

Olá programador, bom dia.

Poste o código da Query.


Responder

02/09/2004

Scandolara

conforme pedido :

chamada
dmtabelas.QrySelMpProd.close;
dmtabelas.QrySelMpProd.Params[0].asstring := dmtabelas.TProdutoCodigo.AsString;
dmtabelas.QrySelMpProd.execsql;
dmtabelas.QrySelMpProd.open;

sql :
select distinct(c.codigo), a.codprod, a.codmp, a.qtduti, (c.custor * a.qtduti) as custoprod
from tmpprod a, tproduto b, tmatprim c
where a.codprod = :paramCodProd and
a.codprod = b.codigo and
a.codmp = c.codigo

é isso
obr


Responder

02/09/2004

Sandra

Marcel,

De acordo com o text da sua SQL: você está utilizando o [b:7f2aa2d547]Select[/b:7f2aa2d547] (apenas buscando, selecionando dados); neste caso, não se usa o comando [b:7f2aa2d547]execsql[/b:7f2aa2d547] (dmtabelas.QrySelMpProd.execsql;)... basta o open (dmtabelas.QrySelMpProd.open;).

O ExecSQL é utilizado quando se faz um Insert, Update ou Delete (manutenção de dados).

Portanto, elimine a linha que contém esse método e verifique se o problema não está aí. Boa sorte!


Responder

03/09/2004

Scandolara

Obr Sandra ... deu certo ...

valeu !!!

[]s


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar