varrer tabela ateh o ultimo registro
15/07/2004
0
tabela.open; while not tabela.eof do begin if tabela[´campo´] = valorx then tabela.delete; tabela.next; end;
o problema eh que se o registro for o último ele nao vai passar por essa rotina, como resolver?
Anderson_blumenau
Posts
15/07/2004
Lbcosta
delete from [b:69eb8a80d1]tabela[/b:69eb8a80d1] where [b:69eb8a80d1]campo [/b:69eb8a80d1]= [b:69eb8a80d1]valorx[/b:69eb8a80d1]
15/07/2004
Anderson_blumenau
16/07/2004
Reginaldo174
não precisa usar SQL mas é bom usar Query. Dessa forma será espantosamente mais rápido, veja
var
conta : integer;
begin
conta := 0 ;
while conta = 0 do
begin
if query1.loacate(´nomedocampo´, valorx,[])then
begin
query1.delete;
end
else
conta := 1;
end;
Desta forma vc vai direto no valor que deseja apagar. Sua rotina estará otimizada. :wink:
16/07/2004
Vinicius2k
Na verdade a rotina vai sempre saltar um registro que deveria ser deletado se estiverem sequenciados, a não ser que :
tabela.open; while not tabela.eof do begin if tabela[´campo´] = valorx then tabela.delete else tabela.next; end;
Espero ter ajudado...
T+
Clique aqui para fazer login e interagir na Comunidade :)