Public Shared Function GetCachedParameters(ByVal cacheKey As String) As SqlParameter()
Dim cachedParms As SqlParameter() = CType(parmCache(cacheKey), SqlParameter())
If cachedParms Is Nothing Then Return Nothing
Dim clonedParms(cachedParms.Length - 1) As SqlParameter
Dim i As Integer
For i = 0 To cachedParms.Length - 1
clonedParms(i) = CType(CType(cachedParms(i), ICloneable).Clone(), SqlParameter)
Next
Return clonedParms
End Function
''' <summary>
'''
''' </summary>
''' <param name="cmd"></param>
''' <param name="conn"></param>
''' <param name="trans"></param>
''' <param name="cmdType"></param>
''' <param name="cmdText"></param>
''' <param name="cmdParms"></param>
''' <remarks></remarks>
Private Shared Sub PrepareCommand(ByVal cmd As SqlCommand, ByVal conn As SqlConnection, ByVal trans As SqlTransaction, ByVal cmdType As CommandType, ByVal cmdText As String, ByVal cmdParms As SqlParameter())
If conn.State <> ConnectionState.Open Then conn.Open()
cmd.Connection = conn
cmd.CommandText = cmdText
If trans IsNot Nothing Then cmd.Transaction = trans
cmd.CommandType = cmdType
If cmdParms IsNot Nothing Then
Dim parm As SqlParameter
For Each parm In cmdParms
cmd.Parameters.Add(parm)
Next
End If
End Sub
End Class
用户评论