varrer tabela ateh o ultimo registro
eu fiz uma rotina pra varrer a tabela assim
o problema eh que se o registro for o último ele nao vai passar por essa rotina, como resolver?
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 Anderson_blumenau](https://www.devmedia.com.br/imagens/fotoscolunistas/avatar/avatar-3.png)
Anderson_blumenau
Curtidas 0
Respostas
![Lbcosta Lbcosta](https://www.devmedia.com.br/imagens/fotoscolunistas/avatar/avatar-6.png)
Lbcosta
15/07/2004
Nao use tabela use query é bem + rapido
delete from [b:69eb8a80d1]tabela[/b:69eb8a80d1] where [b:69eb8a80d1]campo [/b:69eb8a80d1]= [b:69eb8a80d1]valorx[/b:69eb8a80d1]
delete from [b:69eb8a80d1]tabela[/b:69eb8a80d1] where [b:69eb8a80d1]campo [/b:69eb8a80d1]= [b:69eb8a80d1]valorx[/b:69eb8a80d1]
GOSTEI 0
![Anderson_blumenau Anderson_blumenau](https://www.devmedia.com.br/imagens/fotoscolunistas/avatar/avatar-3.png)
Anderson_blumenau
15/07/2004
valeu, mas se eu nao quiser usar sql, tem outro jeito?
GOSTEI 0
![Reginaldo174 Reginaldo174](https://www.devmedia.com.br/imagens/fotoscolunistas/avatar/avatar-6.png)
Reginaldo174
15/07/2004
acesso rápido;
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:
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:
GOSTEI 0
![Vinicius2k Vinicius2k](https://www.devmedia.com.br/imagens/fotoscolunistas/avatar/avatar-1.png)
Vinicius2k
15/07/2004
Anderson,
Na verdade a rotina vai sempre saltar um registro que deveria ser deletado se estiverem sequenciados, a não ser que :
Espero ter ajudado...
T+
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+
GOSTEI 0