Registros aparecendo duplicado na grid

19/05/2017

0

oi...
Estou tentando fazer um programinha de migração de dados e quando abre uma determinada tabela os registros aparecem duplicados.

O que pode ser?

Já tentei apagar e não vai no banco está tudo certinho não tem registos duplicados só aparece no sistema
Eduardo Silva

Eduardo Silva

Responder

Posts

19/05/2017

Roberto Wutke

Possivelmente pode ser o seu Join das tabelas que está duplicando os registros, qualquer coisa coloca o Sql pra nos ai.

Bons códigos!
Responder

19/05/2017

Paulo Costa

Deve ser o join mesmo. Qualquer coisa coloca um (group by pk).
Responder

19/05/2017

Eduardo Silva

não tem Join segue o código
procedure TForm1.T03AdvParteContraria;
begin
  lblTabelas.Caption := 'Abrido a Tabela de: '+DMNovoBanco.FDTable03.TableName;
  lblTabelas.Repaint;
  DMAutosad.FDTable03.Open;
  DMNovoBanco.FDTable03.Open;
  lblTabelas.Caption := 'Tabela de: '+DMNovoBanco.FDTable03.TableName+' Aberta.';
  lblTabelas.Repaint;

  lblCopiandoConteudo.Visible := True;
  lblCopiandoConteudo.Repaint;

  DMAutosad.FDTable03.First;
  DMNovoBanco.FDTable03.First;

  while not DMAutosad.FDTable03.Eof do
  begin
    DMNovoBanco.FDTable03.Append;

    DMNovoBanco.FDTable03NOME_ADVOGADO.AsString := DBEdit42.Text;
    DMNovoBanco.FDTable03ATIVO.AsString         := DBEdit43.Text;

    DMNovoBanco.FDTable03.Post;

    DMAutosad.FDTable03.Next;
  end;

  DMAutosad.FDTable03.Close;
  DMNovoBanco.FDTable03.Close;
end;


A tabela tem 722 registros
basicamente eu garvo o Nome do Advogado e se ele esta ativo no escritório.
Campos da tabela

Nome_ADV Varchar (35)
Ativo Varchar (1)

não pego os registros de uma Query ou coloco em CDS e própria tabela no dbGrid
Responder

22/05/2017

Roberto Wutke

Tem exemplo de print e o Sql pra mandar... ? porque se for pelo código teoricamente está certo... mas se o erro persiste, ai é mais tenso analisar só com codigo do delphi.
Responder

22/05/2017

Raimundo Pereira

Tente deste modo e verifique se mesmo assim irá apresentar duplicidade no grid.

DMAutosad.open;
DMAutosad.fetchall;
DMAutosad.first;

if not DMAutosad.FDTable03.Eof then
repeat

DMNovoBanco.FDTable03.insert;
DMNovoBanco.FDTable03NOME_ADVOGADO.AsString := DBEdit42.Text;
DMNovoBanco.FDTable03ATIVO.AsString := DBEdit43.Text;
DMNovoBanco.FDTable03.Post;

DMAutosad.FDTable03.Next;
until DMAutosad.FDTable03.Eof;
end;

DMNovoBanco.close;
DMNovoBanco.open;
Responder

23/05/2017

Eduardo Silva

Tente deste modo e verifique se mesmo assim irá apresentar duplicidade no grid.

DMAutosad.open;
DMAutosad.fetchall;
DMAutosad.first;

if not DMAutosad.FDTable03.Eof then
repeat

DMNovoBanco.FDTable03.insert;
DMNovoBanco.FDTable03NOME_ADVOGADO.AsString := DBEdit42.Text;
DMNovoBanco.FDTable03ATIVO.AsString := DBEdit43.Text;
DMNovoBanco.FDTable03.Post;

DMAutosad.FDTable03.Next;
until DMAutosad.FDTable03.Eof;
end;

DMNovoBanco.close;
DMNovoBanco.open;


com esse comando apresta o erro
---------------------------
Debugger Exception Notification
---------------------------
Project MigracaoBanco.exe raised exception class EFDException with message '[FireDAC][Comp][Clnt]-303. Capability is not supported'.
---------------------------
Break Continue Help
---------------------------
Responder

23/05/2017

Eduardo Silva

Tem exemplo de print e o Sql pra mandar... ? porque se for pelo código teoricamente está certo... mas se o erro persiste, ai é mais tenso analisar só com codigo do delphi.

Como eu falei não tem Sql...Foto
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar