Originariamente inviato da alka
Le transazioni non risolvono il problema, ma sono solamente un modo per evitare che altri utenti vedano dati inconsistenti, magari frutto di parziali elaborazioni di record, elaborazioni che fanno parte di un'unica "transazione logica" e ci lavorino sopra.
Questo non preclude tuttavia la necessità di effettuare dei controlli.
Ad esempio, è possibile che due utenti ottenga un record specifico ed inizino a lavorarci sopra, tentando successivamente di aggiornare ciascuno un diverso campo rispetto ad un altro.
La classe
DataSet e la controparte
XXXDataAdapter che gestisce l'applicazione delle modifiche dovrebbero fornire le proprietà e i metodi necessari per controllare queste situazioni, verificare le collisioni, generare gli opportuni eventi risolutivi e procedere con il corretto aggiornamento del record.
Io purtroppo non faccio un uso assiduo di queste classi, quindi dovrei leggere la documentazione per ricordarmi i metodi e le proprietà relative; sono abituato a gestire queste problematiche in Delphi usando classi analoghe ma appartenenti ad una diversa libreria. In sostanza, valgono i concetti ma diversi sono gli strumenti.
Per altre informazioni, fai anche eventualmente riferimento alla documentazione MSDN per le classi citate.
Ciao!