Como apagar todos os registro de tabela?

Delphi

21/12/2005

Ola pessoal, eu estava tentando fazer uma código para apagar os registro de uma tabela que está vinculado a outro pelo mastersource ... bla bla bla o código eu fiz foi esse:

procedure TForm_produtos.ApagaroRegistro1Click(Sender: TObject);
begin
if Application.MessageBox(´Deseja realmente apagar este registro´,´Confirmação´,mb_yesno + mb_iconquestion) = id_yes then
Begin
if bancos.IBT_movimento_item.RecordCount=0 then
begin
end else
begin
bancos.IBT_movimento_item.Last;
while not bancos.IBT_movimento_item.Eof do begin
bancos.IBT_movimento_item.delete;
if bancos.IBT_movimento_item.RecordCount<>0 then
begin
bancos.IBT_movimento_item.Next;
end else
begin
end;
end;
end;
bancos.IBT_produtos.Delete;
End else
Begin
showmessage(´Antes de apagar algum registro, verifique1´);
End;
end;
/////
só que não apaga todos os registros. o que será que ta errado.


Chip_set

Chip_set

Curtidas 0

Respostas

Raserafim

Raserafim

21/12/2005

vc poderia simplificar tudo isso em uma única instrução SQL
delete from nometabela


... mas se preferir continuar com o seu código, o problema está nesta linha:
bancos.IBT_movimento_item.Next;

quando vc deleta um registro, necessariamente um outro vai ter que ser selecionado, e portanto vc não precisa mandar ir para o próximo, isso será feito ´automaticamente´ quando vc deletar o registro, passando assim para o próximo.


GOSTEI 0
Adriano Santos

Adriano Santos

21/12/2005

Se for Paradox (acho pouco provavel) o EmptyTable também funciona.


GOSTEI 0
POSTAR