Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => -1
            [id] => 581590
            [titulo] => Registros aparecendo duplicado na grid  
            [dataCadastro] => DateTime Object
                (
                    [date] => 2017-05-19 16:09:02
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 454364
            [status] => A
            [isExample] => -1
            [NomeUsuario] => Roberto Wutke
            [Login] => robertowutke
            [Apelido] => 
            [Foto] => 
            [Conteudo] => Possivelmente pode ser o seu Join das tabelas que está duplicando os registros, qualquer coisa coloca  o Sql pra nos ai.

Bons códigos! ) )

Registros aparecendo duplicado na grid

Eduardo Silva
   - 19 mai 2017

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

Roberto Wutke
   - 19 mai 2017

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

Bons códigos!

Paulo Costa
|
MVP
Pontos: 1700
    19 mai 2017

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

Eduardo Silva
   - 19 mai 2017

não tem Join segue o código
#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

Roberto Wutke
   - 22 mai 2017

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.

P2
   - 22 mai 2017

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

#Código

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;

Eduardo Silva
   - 23 mai 2017


Citação:
Tente deste modo e verifique se mesmo assim irá apresentar duplicidade no grid.

#Código

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
---------------------------

Eduardo Silva
   - 23 mai 2017


Citação:
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