Fórum Problemas ao deletar registro duplicado no Delphi #583147

30/06/2017

0

Tenho que fazer a exclusão de registro porém um só registro entre vários dup´licados no DELPHI estou usando o Interbase estou usando esse código mas não funciona...

IBOQuery5.SQL.Add('DELETE FROM Produtos  WHERE (MarcaProduto=(SELECT FIRST 1 TipoProduto FROM Produtos  WHERE (MarcaProduto= :Combo2)');


Onde
IBOQuery5
é o componente query do Delphi
MarcaProduto
é o campo que quero excluir
:Combo2
é o "ParambyName" do ComboBox.text que retorna o nome do registro pra selecionar e excluir através do código acima.

Sugestões??
Clovis Júnior

Clovis Júnior

Responder

Posts

30/06/2017

Robson Morais

boa tarde,

Uma pergunta esses registros duplicados, todas as informações dele são iguais ?
porque se são, por mais que vc manda remover 1 ele vai remover todos os registros iguais da sua clausula where.
Responder

Gostei + 0

11/07/2017

Roberto Wutke

como o amigo disse, se forem dados exatamente iguais, vc vai deletar os dois, mesmo que selecione 1 deles.... o que vc pode tentar é usar o Distinct e tentar fazer um update tabela set campo = deletar where ( select distinct).... mais ou menos esse caminho, ai depois vc tem como deletar, passando o campo que tem o valor 'deletar' pra vc não ecluir registros duplicados...

espero que funcione corretamente.

Bons códigos.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar