in
La comunità italiana dedicata a Sviluppatori e Architetti IT delle piattaforme Windows

Clonare un TClientDataSet con Delphi 7

Ultimo messaggio ricevuto il 19-09-2007 15.59 da Marco Breveglieri. 2 risposta(e).
Pagina 1 di 1 (3 elemento/i)
Ordina messaggi: Precedente Successivo
  • 19-09-2007 15.06

    • tfanabe
    • Utente Top 25
    • Registrato il 04-11-2004
    • Messaggi 54

    Clonare un TClientDataSet con Delphi 7

    Salve a tutti,

    uso Delphi 7 update 1 con dbExpress.
    Avrei la necessità di clonare o se volete copiare tutto il contenuto di un un componente TClientDatSet
    in un altro medesimo componente e lavorare su entrambi separatamente.
    Ho provato ad impostare il seguente codice ma ottengo un Access Violation.
    Premetto che i campi presente nel TClientDatSet di origine, sono i più disparati, ossia di tipo varchar, char,datetime,bit,currency. La base di dati lavora su sql 2005.

    Questa creazione del clone la voglio eseguire in run-time.
    Vi allego il codice che ho impostato:

           for Indice := 0 to origine.Fields.Count - 1
             do
              begin
                Clone.FieldDefs.AddFieldDef.DataType:=origine.FieldDefs[Indice].DataType;
                Clone.FieldDefs.AddFieldDef.Name:=origine.FieldDefs[Indice].Name;
                Clone.FieldDefs.AddFieldDef.Size:=origine.FieldDefs[Indice].Size;
                Clone.IndexDefs.AddIndexDef.Fields:=origine.IndexDefs[indice].Fields;
                Clonet.IndexDefs.AddIndexDef.Name:=origine.IndexDefs[indice].Name;
                Clone.CreateDataSet;
            end;          

    Accetto qualsiasi suggerimento...

    • Log
  • 19-09-2007 15.35 In risposta a

    • tfanabe
    • Utente Top 25
    • Registrato il 04-11-2004
    • Messaggi 54

    Re: Clonare un TClientDataSet con Delphi 7

    mi stavo perdendo in una goccia d'acqua...
    ho risolto così.--    

           CloneClientDataSet:=TClientDataSet.Create(nil);
           CloneClientDataSet.CloneCursor(origine,True);

    • Log
  • 19-09-2007 15.59 In risposta a

    Re: Clonare un TClientDataSet con Delphi 7

    Per "clonare" un TClientDataSet, è sufficiente assegnare alla proprietà Data del secondo CDS il valore della proprietà Data del primo CDS: in questo modo, dovrebbe essere possibile copiare struttura e dati.

    Ciao! Smile
    MARCO BREVEGLIERI
    (moderatore area "Delphi")
    http://www.marco.breveglieri.name

    Non hai la possibilità di scaricare Turbo Delphi? Te lo spedisco io!
    • Log
Pagina 1 di 1 (3 elemento/i)
Prelevato da http://www.devspy.com/forums/t/4597.aspx
DevSpy.com 6.0 © 2001-2009 - Alcuni Diritti Riservati
Salvo diversa indicazione, tutti i contenuti sono pubblicati sotto licenza "Creative Commons Attribution-Share Alike 3.0"