Einzelnen Beitrag anzeigen

BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
802 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: [Firebild] Änderungen nach Insert gehen verloren

  Alt 3. Jul 2007, 12:22
Ein zweiter Test:

Delphi-Quellcode:
Kunden.Insert;
Kunden.FieldByName('KdNr').AsInteger := 123;
Kunden.FieldByName('Name').AsString := 'Schneider';
Kunden.Post;

OldRecNo := Kunden.RecNo;
Transaction.Commit;
Kunden.Active := true;
Kunden.RecNo := OldRecNo;

Kunden.Edit;
Kunden.FieldByName('Firma').AsString := 'EineFirma';
Kunden.Post;
Nun sind die Änderungen zwar nach Programmende vorhanden. Es ergeben sich aber zwei neue Probleme: Das ganze sind nun zwei Transaktionen. Ich möchte aber nur eine haben, da es entwender komplett oder gar nicht eingetragen werden soll. OK, zur not könnte ich damit leben, wenn es gar nicht änders geht, aber schön ists nicht. Problem zwei: Den ausgewälten Datensatz über die RecNo wiederzufinden ist fehleranfällig, weil sich nach dem Commit die RecNo geändert haben könnte, wenn ein anderer User einen neuen Datensatz in die DB einfügt. Wie kann ich denn den vor Commit ausgewählten Datensatz nach dem Commit mit 100%iger Sicherheit wieder anspringen?
  Mit Zitat antworten Zitat