Problemas com while em loop infinito
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 Luiz Neto](https://www.devmedia.com.br/imagens/fotoscolunistas/avatar/avatar-1.png)
Luiz Neto
Curtidas 0
Respostas
![Lucas Ramos Lucas Ramos](http://www.devmedia.com.br/imagens/fotoscolunistas/341795_20160129112219.jpg)
Lucas Ramos
13/08/2015
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
GOSTEI 0
![Luiz Neto Luiz Neto](https://www.devmedia.com.br/imagens/fotoscolunistas/avatar/avatar-1.png)
Luiz Neto
13/08/2015
SIm, ja tinha tentado comentar o if e deu certo, mas nao sabia disso do locate. Obrigado
GOSTEI 0