# Wie in Java Zugriffe und Updates auf eine Datenbank regeln ?



## Nebutchy (16. Mai 2015)

Hallo liebe Community,

ich stehe im Moment vor folgendem Problem:

Ich habe ein Programm, welches Daten aus einer Datenbank in einer Tabelle darstellt.
In der Tabelle können Werte verändert und eingetragen werden und anschließend gespeichert werden.
Beim Speichern wird ein entsprechender Updatebefehl auf der Datenbank ausgelöst.

Nun wird das Programm allerdings oft von mehreren Personen gleichzeitig genutzt und es kommt vor, dass diese dieselben Daten zur gleichen Zeit anschauen oder bearbeiten. 

Wie regelt man in so einem Fall am besten den Datenbankzugriff ?

Einen Sperrsatz in Verbindung mit einem Bearbeitungsmodus evtl. ? 
Oder gibt es ein Event, welches ausgelöst wird wenn auf der Datenbank etwas verändert wurde ?

Ich hoffe ihr könnt mir weiterhelfen und mir einige Stichworte nennen nach denen ich suchen kann und welche mir weiterhelfen.

Gruß


----------



## Thallius (16. Mai 2015)

In dem Moment wo der User versucht einen Datensatz zu ändern (Also er aktiviert ein Textfield z.B.) must du den Datensatz in der DB erstmal locken. Dazu würde ich eine Status-Spalte einfügen. Erst wenn der Update-Query geklappt hat kannst du sicher sein, dass kein anderer diesen Datensatz gerade ändert. Nun kann es aber sein, das der Datensatz schon geändert wurde. Du must ihn also jetzt noch einmal lesen und vergleichen mit dem aktuell angezeigten. Hier ist es an Dir eventuell einen Dialog aufzumachen der den User darauf hinweist, dass der Datensatz den er sieht nicht mehr aktuell ist und er aktualisiert werden sollte oder auch nicht, falls der User unbedingt den alten Zustand editieren will. Nachdem das Textfeld den Focus verlässt, must du den Datensatz in der DB updaten und mit dem Update auch den Status zurück setzen.

Gruß

Claus


----------

