Apagar somente os registros certos
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.
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
Curtidas 0
Respostas
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
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´));
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
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;
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