Tabela de conteúdos

Descrição

Criar um um clone de um ClientDataSet transformando campos lookup em campos datas, útil para gravar o clientDataSet em disco.

Implementação

Delphi

function criarCloneCds(cdsOrigem: TClientDataSet; cdsClone : TClientDataSet): boolean;
var
  retorno : boolean;
  I: Integer;
begin
  retorno := false;
  try
    try
      {$Region 'Criando os Fields no cdsClone'}
      for I := 0 to cdsOrigem.FieldList.Count - 1 do
      begin
        with cdsClone.FieldDefs.AddFieldDef do
        begin
          Name      := cdsOrigem.Fields[i].FieldName;
          DataType  := cdsOrigem.Fields[i].DataType;
          Size      := cdsOrigem.Fields[i].Size;
          Required  := cdsOrigem.Fields[i].Required;
        end;
      end;
      {$ENDREGION}
 
      {$Region 'Copiando o conteudo dos campos'}
      cdsClone.CreateDataSet;
      cdsOrigem.First;
      while not cdsOrigem.Eof do
      begin
        cdsClone.Append;
        for I := 0 to cdsOrigem.FieldList.Count - 1 do
          cdsClone.Fields.Fields[i].Value := cdsOrigem.Fields.Fields[i].Value;
        cdsClone.Post;
        cdsOrigem.Next;
      end;
      {$ENDREGION}
 
      retorno := true;
    except
      retorno := false;
    end;
  finally
    Result := retorno;
  end;
end;
 
fnc_clonecds.txt · Última modificação: 2012/09/18 21:15 por diego.garcia
 
Exceto onde for informado ao contrário, o conteúdo neste wiki está sob a seguinte licença:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki