Transazioni in vb.net

martedì 14 marzo 2006 - 10.57

maurik Profilo | Junior Member

Ragazzi ho un problema con le transazioni in vb.net... vi espongo il mio problema:

Ho una tabella dove vado ad inserire dei dati, la prima volta su questa tabella faccio una delete e poi un'inserimento. Se l'insrimento divesse andar male dovrei fare il rollback della transazione così che la tabella in questione non venga modificata e rimanga con i fìdati precedenti... Come faccio da VB.net a gestire la transazione????

es codice:

'Apro la connessione...
objcnn = New SqlConnection
objcnn.ConnectionString = modComuni.LeggiConfigurazione("ConnessioneDB")
objcnn.Open()


'...Imposto il comando
ObjCmd = New SqlCommand
With ObjCmd
.Connection = objcnn
.CommandType = CommandType.StoredProcedure
.CommandText = SP_UPDATE_COMPANY
.CommandTimeout = 50
.Parameters.Add("@idCompany", idCompany)
.Parameters.Add("@Email", Email)
.ExecuteNonQuery()
End With
tx = ObjCmd.Transaction
DeletePhone(idCompany)


For i = 0 To ListaPhone.Count - 1
If AddPhones(idCompany, ListaPhone(i).ToString()) Then
tx.Commit()
Else
tx.Rollback()
End If

Next

Vi ringrazio in anticipo

Brainkiller Profilo | Guru

>Ho una tabella dove vado ad inserire dei dati, la prima volta
>su questa tabella faccio una delete e poi un'inserimento. Se
>l'insrimento divesse andar male dovrei fare il rollback della
>transazione così che la tabella in questione non venga modificata
>e rimanga con i fìdati precedenti... Come faccio da VB.net a
>gestire la transazione????

Ciao,
copio e riporto qui di seguito esempio contenuto nel Framework SDK per gestire le transazioni in VB.NET con SQL Server:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Come puoi vedere tutte le istruzioni da inviare a SQL Server devono essere contenuto in un blocco Try...Catch se scatta un eccezione si fa un Rollback e si esce, se va tutto bene vengono committate le modifiche.

Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

maurik Profilo | Junior Member

ehi grazie mille mi sei stato veramente di aiuto....

Ciao Maurizio
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5