Einzelnen Beitrag anzeigen

Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: deadlock - update conflicts with concurrent update.

  Alt 13. Feb 2006, 11:14
Die Einfachste und Beste (imho) Möglichkeit ist, die Lock-Zeit so kurz wie möglich zu halten.
Das erfordert aber etwas mehr Aufwand bei der Programmierung:
Datensatz einlesen und nicht locken (Keine DB-sensitiven Felder verwenden!).
Jetzigen DS-Inhalt merken.
Änderungen durchführen (Off-Line).
Den Datensatz aktuell nochmal holen und vergleichen, ob er sich geändert hat.
Hat sich geändert -> Daten können nicht geschrieben werden, da DS sich geändert hat.
Keine Änderung -> eigene Änderungen können gespeichert werden.

Du kannst natürlich auch den Datensatz zum Lesen sperren, solange er für einen Vorgang benötigt wird. Ob das eine gute Lösung ist, glaube ich nicht.
Peter
  Mit Zitat antworten Zitat