Delphi: Copiar registros de um DataSet

Caso você utilize um objeto TZMySqlQuery e precise copiar a estrutura e os dados desse DataSet para um novo objeto TClientDataSet, por exemplo, pode utilizar o seguinte método:

procedure CopiarDataSet(DataSetOrigem: TZMySqlQuery; DataSetDestino: TClientDataSet);
var
      nIndice: integer;
begin
      DataSetDestino.FieldDefs.Clear;
      DataSetDestino.FieldDefs := DataSetOrigem.FieldDefs;
      DataSetDestino.CreateDataSet;

      DataSetOrigem.First;
      while not DataSetOrigem.Eof do
      begin
            DataSetDestino.Append;

            for nIndice := 0 to (DataSetOrigem.FieldCount - 1) do
            begin
                  DataSetDestino.Fields[nIndice].Value := DataSetOrigem.Fields[nIndice].Value;
            end;

            DataSetDestino.Post;

            DataSetOrigem.Next;
      end;
end;

Nenhum comentário:

Postar um comentário