while not eof delphi

Delphi

28/02/2021

boa noite!

tenho uma tabela que esta com dados e ao clicar em exlcuir faz o seguinte:

While NOT tb.EOF do
tb.Delete;

porém quando chega nesta linha, ele ignora (sendo que a tabela esta com dados e nao esta vazia) verifiquei que teria que retornar FALSE nesta condição porém retorna TRUE.

algm ja passou por esta situaçao?

att.
Gxf

Gxf

Curtidas 0

Respostas

Fabricio

Fabricio

28/02/2021

aaaaaaaaaa
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

28/02/2021

e somente esse o código? não deveria ter um next?
While NOT tb.EOF do
begin
  tb.Delete;
  tb.Next; // vai para o próximo registro
end;

dependendo do banco talvez seja melhor fazer via SQL.
GOSTEI 0
Gxf

Gxf

28/02/2021

e somente esse o código? não deveria ter um next?
While NOT tb.EOF do
begin
  tb.Delete;
  tb.Next; // vai para o próximo registro
end;

dependendo do banco talvez seja melhor fazer via SQL.




bom dia.
no caso, esta parte seria a exclusão individual somente do registro selecionado, por isso não tem o next. tentei via codigo sql tbm, mas nao deu. porém o ideal seria usando tb.delete mesmo, pois já é o padrão que fizeram onde estou alternando. abs.
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

28/02/2021

se é somente 1 registro, porque o while?
dependendo da tecnologia utilizada e do controle de transações configurado, pode ser necessário 'commitar' a transação.
se estiver utilizando ClientDataset
if NOT tb.EOF then
begin
  tb.Delete;
  tb.ApplyUpdates;
end;

GOSTEI 0
Gxf

Gxf

28/02/2021

se é somente 1 registro, porque o while?
dependendo da tecnologia utilizada e do controle de transações configurado, pode ser necessário 'commitar' a transação.
se estiver utilizando ClientDataset
if NOT tb.EOF then
begin
  tb.Delete;
  tb.ApplyUpdates;
end;



no caso seria 1 funcionario, com varias "verbas" rsrs. porém comentando uma linha que ja existia no codigo, parece q deu certo.
agradeço a atenção!!

abs!
GOSTEI 0
POSTAR