Einzelnen Beitrag anzeigen

Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#17

AW: Datensatz in einer Datenbank kopieren

  Alt 27. Jun 2012, 20:22
In der Tat, der Vorschlag ist updatefähig, z. B. mit folgendem Schnipsel:
Code:
 var V:Variant;
     i:integer;
 begin
       with Query1 do
       begin
         if (not Active)or(isEmpty) then exit;
         // Variant Array aufbauen
         V := VarArrayCreate([0,FieldCount-1], varVariant);
         for i:=0 to FieldCount-1 
         do
           // Für alle Felder die Beschreibbar sind hole Werte ins Array
           if (not Fields[i].ReadOnly)
               and(Fields[i].FieldName <> KeyFieldName)
               then V[i]:=Fields[i].Value;
           // Leeren Datensatz in Memory anlegen
           Insert;
           // Wo Werte im Array sind, diese in die Felder eintragen
           for i:=0 to FieldCount-1 do
             if (not Fields[i].ReadOnly)
           then Fields[i].Value := V[i];
           // schreiben, eventuell auch später
           post;
         end;
 end;
Grüße in die Runde // Martin
Martin Schaefer
  Mit Zitat antworten Zitat