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
App. WinForms / WPF .NET
Transazioni
mercoledì 22 novembre 2006 - 18.52
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
fabiof
Profilo
| Newbie
25
messaggi | Data Invio:
mer 22 nov 2006 - 18:52
Ciao,
E' possibile definire una transazione in una funzione principale che poi abbia influenza su funzioni richiamate dalla principale?
Es.
Dim cn2 As New System.Data.SqlClient.SqlConnection
Dim cmd As New System.Data.SqlClient.SqlCommand
Dim myTrans As SqlTransaction
cn2.ConnectionString = GblConnectionString
cn2.Open()
cmd.Connection = cn2
myTrans = cn2.BeginTransaction
cmd.Transaction = myTrans
If Not Esegui_Query(cn2, cmd) Then
myTrans.Rollback()
Exit Sub
End If
Ho provato così, ma la transazione non agisce sulle modifice fatte nella funzione Esegui_Query, probabilmente sbaglio in qualche cosa.
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
gio 23 nov 2006 - 08:44
non vedo myTrans.Commit() se la tua routine Esegui_Query va bene...
potrebbe essere questo il problema?
Vincenzo
Programmatore sbilenco
fabiof
Profilo
| Newbie
25
messaggi | Data Invio:
gio 23 nov 2006 - 09:41
Scusa, non ho messo il commit quà, perchè la funzione prosegue sulla falsa riga del codice pubblicato
e poi in fondo faccio il commit.
In pratica nella funzione che chiamo eseguo la query, poi torno alla funzione principale, così per diverse volte.
Mi sono accorto però che se una delle query fallisce, lui da errore, torna alla fun. principale fa il rollback ma questo non viene più sentito dalle modifiche al db fatte.nelle query precedenti che pure sono sotto transazione.
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
gio 23 nov 2006 - 13:34
Allora guardando così sembra giusto...
suppongo che dentro l'Esegui_Query utillizi cmd.Execute o cmd.ExecuteNonQuery
Se dentro sta routine fai letture probabilemte è l'IsolationLevel che devi cambiare...
... vediamo se magari il sig. Lorenzo Benaglia ti risponde.. lui avrà sicuramente la soluzione
Vincenzo
Programmatore sbilenco
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 !