Einzelnen Beitrag anzeigen

neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#19

AW: Programm Datenverifizierung

  Alt 13. Feb 2012, 17:56
Bei kleinen DB hat sich bei mir folgender Ansatz bewährt:

- Erzeuge die DB (intern und dynamisch) immer neu (hier CDS).
- Öffne die gespeicherte DB (hier tempCDS).
- Kopiere die Felder etwa so:
Delphi-Quellcode:
  begin
    tempCDS := TClientDataset.Create(nil);
    sl := TStringList.Create;
    try
      tempCDS.LoadFromStream(aStrStream);
      tempCDS.Open;
      sl.Text := tempCDS.FieldList.Text;
      while not tempCDS.Eof do
      begin
        CDS.insert;
        for i := 0 to CDS.FieldCount - 1 do
        begin
          s := CDS.Fields[i].FieldName;
          if sl.IndexOf(s) > -1 then
            CDS.FieldByName(s).Value := tempCDS.FieldByName(s).Value;
        end;
        CDS.post;
        tempCDS.Next;
      end;
      tempCDS.Close;
    finally
      sl.free;
      tempCDS.Free;
    end;
Vorteil dieser Methode: Man übernimmt, was nur geht und lässt weg, was nicht mehr geht. Natürlich kann man den Ansatz auch etwas anpassen und zuvor erst einmal so den Strukturunterschied feststellen, den Anwender fragen, was zu tun ist, und entsprechend weiter gehen.
Andreas
  Mit Zitat antworten Zitat