Apagar somente os registros certos

Delphi

21/03/2003

Boa tarde a todos.
Pessoal, tenho o seguinte código:

DMRetaguarda.TExtrato.Open;
DMRetaguarda.TExtrato.First;
while not DMRetaguarda.TExtrato.Eof do
begin
if DMRetaguarda.TExtratopergunta.AsString = ´pedido´ then
DMRetaguarda.TExtrato.Delete;
DMRetaguarda.TExtrato.Next;
end;
DMRetaguarda.TExtrato.Close;
DMRetaguarda.TExtrato.Open;
Estou querendo apagar todos os registros em que o campo ´pergunta´ seja igual a pedido.
Ele apaga todos com exceção do último.
Alguém pode melhorar o código ou me indicar outra solução.
Grato pela atenção.


Hacson Menezes

Hacson Menezes

Curtidas 0

Respostas

Btovix

Btovix

21/03/2003

Olá, Acho que seu problema terá uma solução se vc incrementar mais um looping no seu while. Tenta tirar aquele not dali e ele vai dar um looping até o último (pode usar um for ou repeat talvez dê até mais certo)! Vai lá boa sorte! :wink:


GOSTEI 0
Carnette

Carnette

21/03/2003

[quote:1d1b6c2286=´Hacson Alexandre Menezes´]Boa tarde a todos.
Pessoal, tenho o seguinte código:

DMRetaguarda.TExtrato.Open;
DMRetaguarda.TExtrato.First;
while not DMRetaguarda.TExtrato.Eof do
begin
if DMRetaguarda.TExtratopergunta.AsString = ´pedido´ then
DMRetaguarda.TExtrato.Delete;
DMRetaguarda.TExtrato.Next;
end;
DMRetaguarda.TExtrato.Close;
DMRetaguarda.TExtrato.Open;
Estou querendo apagar todos os registros em que o campo ´pergunta´ seja igual a pedido.
Ele apaga todos com exceção do último.
Alguém pode melhorar o código ou me indicar outra solução.
Grato pela atenção.[/quote:1d1b6c2286]

Use um objeto Query e digite o seguinte codigo sql

DELETE
FROM TabelaDesejada WHERE (((tabeladesejada.extratopergunta)=´Pedido´));


GOSTEI 0
Marfred

Marfred

21/03/2003

DMRetaguarda.TExtrato.Open;
DMRetaguarda.TExtrato.First;
while not DMRetaguarda.TExtrato.Eof do
begin
if DMRetaguarda.TExtratopergunta.AsString = ´pedido´ then
DMRetaguarda.TExtrato.Delete
else
DMRetaguarda.TExtrato.Next;
end;
DMRetaguarda.TExtrato.Close;
DMRetaguarda.TExtrato.Open;


GOSTEI 0
POSTAR