Como apagar todos os registro de tabela?
21/12/2005
0
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.
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
Curtir tópico
+ 0
Responder
Posts
21/12/2005
Raserafim
vc poderia simplificar tudo isso em uma única instrução SQL
... mas se preferir continuar com o seu código, o problema está nesta linha:
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.
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.
Responder
21/12/2005
Adriano Santos
Se for Paradox (acho pouco provavel) o EmptyTable também funciona.
Responder
Clique aqui para fazer login e interagir na Comunidade :)