Tom: Datensatz vor dem Speichern auf Änderung vergleichen!

Beitrag lesen

Hello Sascha,

ich werde einfach mal die Frage beantworten und die Schulstunde den Kollegen überlassen :o)
Wenn ich Daten aus der Datenbank hole, landen die bei mir gewöhnlich in einem Objekt (Zum Beispiel "Kunde", "Rechnung" etc).
Diesem Objekt gebe ich eine Boolean-Eigenschaft IsPersisted mit, die beim befüllen aus der Datenbank auf "True" gesetzt wird.
In den Settern der anderen Eigenschaften wird geschaut ob der übergebene Wert ungleich dem vorhandenen ist, und wenn ja die IsPersisted-Eigenschaft auf "False" gesetzt.

Wenn es jetzt ans speichern geht weiß ich, ob eine Änderung (Wohlgemerkt, eine  Änderung der bereits geladenen Daten) durchgeführt wurde (IsPersisted=False) und kann mich entscheiden was ich tue.

Und jetzt kommt der eigentlich spannende Teil. Was tust Du anshließend beim "Persistieren" deiner Daten aus dem Objekt?

Wenn DU jetzt das, was ich geschrieben habe zum Thema aufmerksam durchliest und in deine Objektdefinition einfließen lässt, dann änderst Du deine "Persisted"-Eigenschaft von Boolean auf einen numerischen Wert oder NULL. NULL würde bedeuten, dass in der DB noch keine Daten vorhanden waren und der Datensatz beim Speichern neu angelegt werden müsste, ein numerischer Wert käme aus der DB. Wenn ein numerischer Wert vorhanden ist, muss der beim Speichern noch übereinstimmen mit dem Wert in der DB und muss beim Speichern geändert werden. Bringe das deinem Objekt bei.

Wenn Du diese kleinen Änderungen durchgeführt hast, ist auch dein System in Zukunft mehrbenutzerfähig.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de