Hallo,
ich arbeite an einer DB-Applikation und dabei ist das folgende Problem zu lösen.
2 Benutzer (A, B) haben gleichzeitig die Applikation gestartet; nach etwas gesucht und die App zeigt (vereinfacht) folgende Daten an:
Name Qty
---- ---
apple 10
orange 20
Benutzer A ändert 10 auf 15. Nach ca. 1 Minute möchte Benutzer B ebenfalls 10 verändern, jedoch hat B die Suche noch nicht aktualisiert, somit sieht er noch 10.
Frage 1) wie könnte man erreichen, dass in diesem Fall B die Daten (10) nur nach einem Refresh ändern kann? Um die Änderung zu machen verwende ich einen insert-Befehl in einem MS-SQL Server.
Sollte ich bei jedem insert zuerst vergleichen, ob sich die Daten sich inzwischen verändert haben?
Eventuell die DB-Tabellen für bestimmte Zeit sperren, während A damit arbeitet?
Frage 2) Wäre es sinvoll die Tabelle (mit den Suchergebnissen) periodisch zu aktualisieren, damit A und B immer die aktuellste Daten sehen?
Danke,
Daniel
ich arbeite an einer DB-Applikation und dabei ist das folgende Problem zu lösen.
2 Benutzer (A, B) haben gleichzeitig die Applikation gestartet; nach etwas gesucht und die App zeigt (vereinfacht) folgende Daten an:
Name Qty
---- ---
apple 10
orange 20
Benutzer A ändert 10 auf 15. Nach ca. 1 Minute möchte Benutzer B ebenfalls 10 verändern, jedoch hat B die Suche noch nicht aktualisiert, somit sieht er noch 10.
Frage 1) wie könnte man erreichen, dass in diesem Fall B die Daten (10) nur nach einem Refresh ändern kann? Um die Änderung zu machen verwende ich einen insert-Befehl in einem MS-SQL Server.
Sollte ich bei jedem insert zuerst vergleichen, ob sich die Daten sich inzwischen verändert haben?
Eventuell die DB-Tabellen für bestimmte Zeit sperren, während A damit arbeitet?
Frage 2) Wäre es sinvoll die Tabelle (mit den Suchergebnissen) periodisch zu aktualisieren, damit A und B immer die aktuellste Daten sehen?
Danke,
Daniel