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?
Luiz Neto

Luiz Neto

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
Responder

13/08/2015

Luiz Neto

SIm, ja tinha tentado comentar o if e deu certo, mas nao sabia disso do locate. Obrigado
Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

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