View Full Version : [VB.NET] Multiutente
OrcaAssassina
19-05-2007, 17:16
Ho un database in rete con altri PC.
Vorrei gestire la concorrenza e l'aggiornamento dei dati in tempo reale, in maniera optimistic.
I dati vengono memorizzati in dataset.
Avete degli esempi per meglio capire come affrontare il problema????
Ciao e grazieeeeeeeee
Einstein
20-05-2007, 14:53
Il Dataset prevede già la concorrenza ottimistica tramite la proprietà RowState di ciascuna datarow, quindi dovresti ritrovarti già tutto gratis.
Ciao
OrcaAssassina
20-05-2007, 22:22
Il Dataset prevede già la concorrenza ottimistica tramite la proprietà RowState di ciascuna datarow, quindi dovresti ritrovarti già tutto gratis.
Ciao
Uso SQL EXPRESS 2005
Dici che lo gestisce da solo????
Einstein
21-05-2007, 09:23
Non tanto il database (che comunque ha un'ottima gestione della concorrenza), ma l'accoppiata Dataset + TableAdapter.
Quando chiami il medodo Update() del TableAdapter, viene controllato il RowState di ciascuna DataRow e scatenata una Update/Insert/Delete sul Db a seconda che il RowState sia rispettivamente Modified/Added/Deleted.
Se hai usato il TableAdapter Wizard e analizzi il codice SQL generato, vedrai che le istruzioni hanno una condizione WHERE che confronta il valore attuale di ogni campo con quello presente sul database. Se l'operazione non va a buon fine (qualcuno nel frattempo ha modificato i dati che tu hai caricato nel dataset), viene sollevata una DbConcurrencyException, che dovrai gestire dall'applicazione.
Maggiori info qui: http://msdn2.microsoft.com/en-us/library/bz9tthwx(VS.80).aspx
Ciao
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.