Mysql
 sql >> Database >  >> RDS >> Mysql

Aggiornamento del programma Windows quando altri utenti apportano modifiche?

Come suggerito da Lucas, puoi implementare un sistema in stile "Push" che ogni volta che un'entità viene modificata viene "Push" agli altri utenti collegati. Questo può essere un po' complesso. Il modo in cui lavoriamo con un sistema legacy viene gestito tramite una colonna "Modifica numero", ma in realtà può essere qualsiasi cosa venga aggiornata ogni volta che il record viene modificato.

Quando un utente tenta di modificare un'entità, interroghiamo il database per bloccare le righe di quell'entità in cui il "Numero di modifica" riflette il "Numero di modifica" che l'utente ha attualmente.

Se il blocco ha esito positivo, l'utente è in grado di aggiornare/eliminare l'entità. Al termine, vengono aumentati "Salva/Impegna" e "Cambia numero" sull'entità.

Se non riescono a ottenere il row-lock e il "Numero di modifica" è lo stesso, viene visualizzato un messaggio che indica che l'entità richiesta è utilizzata da un altro utente. Se il "Numero di modifica" era diverso, il messaggio indica che devono aggiornare la visualizzazione.