[Gelöst] Mehrere fieldref nacheinander updaten?

4. November 2011 18:43

Guten Abend zusammen,

ich habe eine kleine Frage zu recordref und fieldref. Ich möchte in einem Datensatz 2 oder mehrere Felder updaten. Muss ich dabei 2 Mal einen MODIFY durchführen?
...
Code:
RecordID2L := RecordRefL.RECORDID;
IF RecordRef2L.GET(RecordID2L) THEN
BEGIN
  IF SelResetArchFlagG THEN
  BEGIN
    FieldRef2L := RecordRef2L.FIELD(5045180);
    FieldRef2L.VALUE := 0;
    RecordRef2L.MODIFY;  // <----
    FieldRef2L := RecordRef2L.FIELD(5045181);
    FieldRef2L.VALUE := 0DT;
    RecordRef2L.MODIFY;  // <----
  END ELSE
    ...


Oder kann der RecordRef2L.MODIFY nur einmal durchgeführt werden (was ich bezweifle)?

Falls der MODIFY 2 Mal gemacht werden muss, ist dann die Performance in diesem Beispiel schlechter als wenn ich eine Tabelle als Variable "Record" durchlaufe?
Dabei kann ich ja x-Felder auf einmal ändern und muss nur einen MODIFY durchführen.

Merci, Beno (und ein schönes Wochenende!)
Zuletzt geändert von beno am 7. November 2011 14:23, insgesamt 1-mal geändert.

Re: Mehrere fieldref nacheinander updaten?

4. November 2011 20:03

Hallo Beno,

du wirst es kaum glauben, aber der RecRef.MODIFY braucht wirklich nur einmal pro Datensatz ausgeführt werden.
Du kannst also in aller Ruhe alle Felder eines Datensatzes nacheinander mit den Werten deiner Wahl füllen, und dann am Ende den Datensatz mit einem einzigen RecRef.MODIFY in die Datenbank zurückschreiben.

Re: Mehrere fieldref nacheinander updaten?

7. November 2011 14:23

Hallo Timo,

coole Sache, hätte ich wirklich nicht gedacht!!!!

Aber (und das nehme ich auf meine Kappe), das hätte ich auch mit einem simplen Debug herausfinden sollen/müssen!

Vielen, vielen Dank. Ich werde mich ab sofort mehr damit beschäftigen. Es gibt da ja ungeahnte Möglichkeiten!
Beno