Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Rollback
venerdì 18 gennaio 2013 - 10.06
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
C#
|
.NET 4.0
svipla
Profilo
| Senior Member
361
messaggi | Data Invio:
ven 18 gen 2013 - 10:06
Ciao a tutti
sto utilizzando per la prima volta sql server in progetto e vorrei capire come utilizzare il rollback.
Supponiamo che io abbiamo questo codice:
bool result = DataBanker.SalvaCliente(cliente);
if (result)
{
result = Users.CreateUser(user, out userId);
}
if (result)
{
}
else
{
//Roolback
}
Ho trovato un esempio su msdn e ho capito più o meno come scrivere il codice.
Se l'errore si verifica in DataBanker.SalvaCliente(cliente) mi è facile eseguire il Rollback sulla tabella 'Clienti'. Se invece l'errore si verifica su Users.CreateUser che coinvolge tutte le tabelle utilizzate dal provider Membership di asp.net, oltre ad eseguire il Rollback su queste tabelle, dovrei eseguire il rollback anche della tabella 'Clienti'. E' possibile fare questo? E come?
Grazie mille
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 22 gen 2013 - 17:49
>Ciao a tutti
ciao
>Se l'errore si verifica in DataBanker.SalvaCliente(cliente) mi
>è facile eseguire il Rollback sulla tabella 'Clienti'. Se invece
>l'errore si verifica su Users.CreateUser che coinvolge tutte
>le tabelle utilizzate dal provider Membership di asp.net, oltre
>ad eseguire il Rollback su queste tabelle, dovrei eseguire il
>rollback anche della tabella 'Clienti'. E' possibile fare questo?
>E come?
devi fare in modo che la transazione che vai a fare comprenda entrambe le operazioni.
io utilizzerei il transactionscope:
http://msdn.microsoft.com/it-it/library/system.transactions.transactionscope
(v=vs.100).aspx
con esso puoi rendere unica l'operazione di più statement, per fare in modo di applicare il "tutto o niente".
In questo puoi fare in modo che ogni errore faccia rollback delle eventuali modifiche precedenti non ancora "committate".
>Grazie mille
di nulla!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !