Fórum problema no Eof #280733

09/05/2005

0

pessoal o laço abaixo deve fazer o seguinte procedimento: Enquanto existir Clientes apague todos os seus telefones e depois o cliente.O laço está funcionando só que qndo chega na linha do eof ele sai mesmo que a condiçao seja false


while not dm.tableClientes.Eof do// antes da tabela cliente chegar ao final ele sai do laço
begin
while not dm.tTelCli.Eof do
begin
dm.tPastMus.Delete;
dm.tPastMus.Next;
end;
dm.tClientes.Delete;
dm.tClientes.Next;
end;

obs: minha tabela esta conectada a um banco de dados Paradox.


Hviana

Hviana

Responder

Posts

09/05/2005

Ltres

Cara .. se naum me engano naum precisa de next ali.. qdo tu da .delete ele ja pula pro proximo.. tenta fazer sem pra ver se funciona


Responder

Gostei + 0

09/05/2005

Rjun

Você não precisar dar o Next. Mas se é para apagar todos os registros faz um SQL.


Responder

Gostei + 0

09/05/2005

Daniel_mc

É o seguinte meu camarada creio eu que o código correto seria o seguinte:

while not dm.tableClientes.Eof do// antes da tabela cliente chegar ao final ele sai do laço 
begin 
while not dm.tTelCli.Eof do 
begin 
dm.tPastMus.First;
dm.tPastMus.Delete; 
end; 
dm.tClientes.First; 
dm.tClientes.Delete; 
end; 



Responder

Gostei + 0

09/05/2005

Nilza

Oi

Acho que assim funciona:
dm.tClientes.First; 
dm.tPastMus.First;
while not (dm.tableClientes.Eof) do// antes da tabela cliente chegar ao final ele sai do laço 
begin 
while not (dm.tTelCli.Eof) do 
begin 
dm.tPastMus.Delete; 
dm.tPastMus.next;
end; 
dm.tClientes.Delete; 
dm.tClientes.next;
end; 


Caso não funcione, somente exclua o NEXT e teste novamente.

[]´s


Responder

Gostei + 0

09/05/2005

Gandalf.nho

Se a idéia é excluir todos os telefones e clientes, use DELETE FROM tabela
primeiro nos telefones e depois nos clientes. Bem mais rápido e prático.


Responder

Gostei + 0

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

Aceitar