Problemas com while em loop infinito
13/08/2015
0
Galera, estou tendo problemas com um loop infinito nesse programa
while not DM.tblRelacoes.eof do
begin //begin eof
if (DM.tblRelacoes.Locate('Funcionario',id2,[])=true) and (DM.tblRelacoes.Locate('Projeto',id,[])=true) then //se encontrar a relaçao, altera o valor de cont
cont:=cont+1;
DM.tblRelacoes.Next;
end;
mesmo com o next, o programa simplesmente nao avança de posição no banco de dados, alguem tem alguma ideia do que pode esta acontecendo?
while not DM.tblRelacoes.eof do
begin //begin eof
if (DM.tblRelacoes.Locate('Funcionario',id2,[])=true) and (DM.tblRelacoes.Locate('Projeto',id,[])=true) then //se encontrar a relaçao, altera o valor de cont
cont:=cont+1;
DM.tblRelacoes.Next;
end;
mesmo com o next, o programa simplesmente nao avança de posição no banco de dados, alguem tem alguma ideia do que pode esta acontecendo?
Luiz Neto
Curtir tópico
+ 0
Responder
Posts
13/08/2015
Lucas Ramos
Quando da o locate ele fica alterando a posição da query, por isso fica no loop infinito.
Aconselho não usar o locate dentro de um While na própria query, comenta o If que vai ver que não vai ficar no loop infinito
Aconselho não usar o locate dentro de um While na própria query, comenta o If que vai ver que não vai ficar no loop infinito
Responder
13/08/2015
Luiz Neto
SIm, ja tinha tentado comentar o if e deu certo, mas nao sabia disso do locate. Obrigado
Responder
Clique aqui para fazer login e interagir na Comunidade :)