Clonare SqlCommand

lunedì 15 ottobre 2007 - 11.33

Fantazma Profilo | Junior Member

Salve a tutti
mi trovo nella necessità di dover copiare istanze di SqlCommand. Ora dal framework 2.0 è stato inserito il metodo Clone per effettuare questa procedura (quindi la mia non deve essere una richiesta tanto strana)... ma se si utilizza ancora il framework 1.1??? Cercando sui motori di ricerca non è saltato nulla di interessante. Avete consigli in merito???

Ciao e grazie.

Teech Profilo | Expert

Su 2 piedi, senza fare prove, posso consigliarti di creare una classe che eredita da SqlCommand ed implementare l'interfaccia IClonable poi gestire la duplicazione/clonazione dei tuoi SqlCommand.
Occhio alla clonazione dei dati o dell'Handle...

Ciao!!!
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole

Fantazma Profilo | Junior Member

Credo di aver trovato la soluzione e posto qui il codice nel caso possa servire ad altri.

Friend Shared Function SqlCommandClone(ByVal sc As SqlCommand) As SqlCommand
If sc Is Nothing Then
Return Nothing
End If
Dim myConnection As SqlConnection
myConnection = New SqlConnection(sc.Connection.ConnectionString)
Dim clone As New SqlCommand(sc.CommandText, myConnection)
clone.CommandTimeout = sc.CommandTimeout
clone.CommandType = sc.CommandType
For i As Integer = 0 To sc.Parameters.Count - 1
clone.Parameters.Add(sc.Parameters.Item(i).ParameterName, sc.Parameters.Item(i).SqlDbType)
clone.Parameters(i).Value = sc.Parameters(i).Value
Next
clone.Transaction = sc.Transaction
clone.UpdatedRowSource = sc.UpdatedRowSource
Return clone
End Function
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