Dicas de Delphi

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Dicas de Delphi

Fórum do blog dicasdedelphi.blogspot.com


    Atualização de clonagem de clientdataset

    avatar
    avmesquita


    Mensagens : 1
    Data de inscrição : 10/10/2012
    Localização : Niterói, RJ, Brasil

    Atualização de clonagem de clientdataset Empty Atualização de clonagem de clientdataset

    Mensagem  avmesquita Qua Out 10, 2012 10:23 pm

    Cara, fiz umas alterações na sua procedure para clonagem de ClientDataSet e estou postando para o caso de poder ajudar outras pessoas.

    []'s


    Código:

    procedure TForm1.ClonarDataSetSemVinculo(const pCdsOrigem,pCdsDestino:TClientDataSet);
    var
      ClientDataSetTemp : TClientDataSet;
      Data2 : OleVariant;
      i: Integer;
    begin
      pCdsOrigem.ReadOnly := False;
      TProvider(FindComponent(pCdsOrigem.ProviderName)).UpdateMode := upWhereAll;
      TProvider(FindComponent(pCdsOrigem.ProviderName)).Options := [];
      for i := 0 to pCdsOrigem.Fields.Count - 1 do
      begin
        pCdsOrigem.Fields[i].ReadOnly := False;
        pCdsOrigem.Fields[i].ProviderFlags := [pfInUpdate];
      end;

      ClientDataSetTemp := TClientDataSet.Create (nil);
      ClientDataSetTemp.SetProvider(pCdsOrigem);
      ClientDataSetTemp.Open;
      Data2 := ClientDataSetTemp.Data;
      ClientDataSetTemp.Close;
      pCdsDestino.Data := Data2;

      if not pCdsDestino.Active then
        pCdsDestino.Open;

      pCdsDestino.ReadOnly := False;
      for i := 0 to pCdsDestino.Fields.Count - 1  do
      begin
        pCdsDestino.Fields[i].ReadOnly := False;
        pCdsDestino.Fields[i].ProviderFlags := [pfInUpdate];
      end;
    end;

    rafaeljeremias gosta desta mensagem


      Data/hora atual: Sáb Abr 27, 2024 6:06 am