Oppure invece di settare i "LOCK" dei cursori (che rallentano "notevolmente" il programma) occupando un gran numero di risorse...
Puoi sempre utilizzare un escamotage <--(non so cosa ho scritto)
e utilizzi un FILE FITTIZIO che farà da flag!!!
es:
2 pc (CLIENT) potrebbero accedere ad un database contemporaneamente
e quindi alterare il risultato di una query...
Tu potresti fare in modo che il Client1
prima di connettersi al database, controlla se in una directory
CONDIVISA sul server sia presente il file FLAG
Se il file esiste vuol dire che il Client2 è connesso
al database...
quindi
metti in attesa il Client1 per tot secondi
e aspetti che il Client2 termini la connessione al database.
Ovviamente il Client2 appena chiusa la connessione al db
cancella il file FLAG...
Così facendo il Client1 (in attesa) dopo tot. secondi
effettua un nuovo controllo nella cartella condivisa
e se non trova il file (FLAG)
(capisce che nessun PC è connesso al database)
e quindi crea il file FLAG e si connette al DB.
POI, quando finisce di interrogare il DB, si disconnette
e cancella il file FLAG
In questo semplice modo... eviti di effettuare connessioni
contemporanee e ti assicuro che la routine è molto più veloce.