?? c_sqlhelper.vb
字號:
Return ExecuteReader(transaction, commandType, commandText, CType(Nothing, oledbParameter()))
End Function ' ExecuteReader
' Execute a oledbCommand (that returns a resultset) against the specified oledbTransaction
' using the provided parameters.
' e.g.:
' Dim dr As oledbDataReader = ExecuteReader(trans, CommandType.StoredProcedure, "GetOrders", new oledbParameter("@prodid", 24))
' Parameters:
' -transaction - a valid oledbTransaction
' -commandType - the CommandType (stored procedure, text, etc.)
' -commandText - the stored procedure name or T-SQL command
' -commandParameters - an array of SqlParamters used to execute the command
' Returns: A oledbDataReader containing the resultset generated by the command
Public Overloads Shared Function ExecuteReader(ByVal transaction As oledbTransaction, _
ByVal commandType As CommandType, _
ByVal commandText As String, _
ByVal ParamArray commandParameters() As oledbParameter) As oledbDataReader
If (transaction Is Nothing) Then Throw New ArgumentNullException("transaction")
If Not (transaction Is Nothing) AndAlso (transaction.Connection Is Nothing) Then Throw New ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction")
' Pass through to private overload, indicating that the connection is owned by the caller
Return ExecuteReader(transaction.Connection, transaction, commandType, commandText, commandParameters, oledbconnectionOwnership.External)
End Function ' ExecuteReader
' Execute a stored procedure via a oledbCommand (that returns a resultset) against the specified oledbTransaction
' using the provided parameter values. This method will discover the parameters for the
' stored procedure, and assign the values based on parameter order.
' This method provides no access to output parameters or the stored procedure' s return value parameter.
' e.g.:
' Dim dr As oledbDataReader = ExecuteReader(trans, "GetOrders", 24, 36)
' Parameters:
' -transaction - a valid oledbTransaction
' -spName - the name of the stored procedure
' -parameterValues - an array of objects to be assigned as the input values of the stored procedure
' Returns: A oledbDataReader containing the resultset generated by the command
Public Overloads Shared Function ExecuteReader(ByVal transaction As oledbTransaction, _
ByVal spName As String, _
ByVal ParamArray parameterValues() As Object) As oledbDataReader
If (transaction Is Nothing) Then Throw New ArgumentNullException("transaction")
If Not (transaction Is Nothing) AndAlso (transaction.Connection Is Nothing) Then Throw New ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction")
If (spName Is Nothing OrElse spName.Length = 0) Then Throw New ArgumentNullException("spName")
Dim commandParameters As oledbParameter()
' If we receive parameter values, we need to figure out where they go
If Not (parameterValues Is Nothing) AndAlso parameterValues.Length > 0 Then
commandParameters = SqlHelperParameterCache.GetSpParameterSet(transaction.Connection, spName)
AssignParameterValues(commandParameters, parameterValues)
Return ExecuteReader(transaction, CommandType.StoredProcedure, spName, commandParameters)
Else ' Otherwise we can just call the SP without params
Return ExecuteReader(transaction, CommandType.StoredProcedure, spName)
End If
End Function ' ExecuteReader
#End Region
#Region "ExecuteScalar"
' Execute a oledbCommand (that returns a 1x1 resultset and takes no parameters) against the database specified in
' the connection string.
' e.g.:
' Dim orderCount As Integer = CInt(ExecuteScalar(connString, CommandType.StoredProcedure, "GetOrderCount"))
' Parameters:
' -connectionString - a valid connection string for a oledbconnection
' -commandType - the CommandType (stored procedure, text, etc.)
' -commandText - the stored procedure name or T-SQL command
' Returns: An object containing the value in the 1x1 resultset generated by the command
Public Overloads Shared Function ExecuteScalar(ByVal connectionString As String, _
ByVal commandType As CommandType, _
ByVal commandText As String) As Object
' Pass through the call providing null for the set of oledbParameters
Return ExecuteScalar(connectionString, commandType, commandText, CType(Nothing, oledbParameter()))
End Function ' ExecuteScalar
' Execute a oledbCommand (that returns a 1x1 resultset) against the database specified in the connection string
' using the provided parameters.
' e.g.:
' Dim orderCount As Integer = Cint(ExecuteScalar(connString, CommandType.StoredProcedure, "GetOrderCount", new oledbParameter("@prodid", 24)))
' Parameters:
' -connectionString - a valid connection string for a oledbconnection
' -commandType - the CommandType (stored procedure, text, etc.)
' -commandText - the stored procedure name or T-SQL command
' -commandParameters - an array of SqlParamters used to execute the command
' Returns: An object containing the value in the 1x1 resultset generated by the command
Public Overloads Shared Function ExecuteScalar(ByVal connectionString As String, _
ByVal commandType As CommandType, _
ByVal commandText As String, _
ByVal ParamArray commandParameters() As oledbParameter) As Object
If (connectionString Is Nothing OrElse connectionString.Length = 0) Then Throw New ArgumentNullException("connectionString")
' Create & open a oledbconnection, and dispose of it after we are done.
Dim connection As oledbconnection = Nothing
Try
connection = New oledbconnection(connectionString)
connection.Open()
' Call the overload that takes a connection in place of the connection string
Return ExecuteScalar(connection, commandType, commandText, commandParameters)
Finally
If Not connection Is Nothing Then connection.Dispose()
End Try
End Function ' ExecuteScalar
' Execute a stored procedure via a oledbCommand (that returns a 1x1 resultset) against the database specified in
' the connection string using the provided parameter values. This method will discover the parameters for the
' stored procedure, and assign the values based on parameter order.
' This method provides no access to output parameters or the stored procedure' s return value parameter.
' e.g.:
' Dim orderCount As Integer = CInt(ExecuteScalar(connString, "GetOrderCount", 24, 36))
' Parameters:
' -connectionString - a valid connection string for a oledbconnection
' -spName - the name of the stored procedure
' -parameterValues - an array of objects to be assigned as the input values of the stored procedure
' Returns: An object containing the value in the 1x1 resultset generated by the command
Public Overloads Shared Function ExecuteScalar(ByVal connectionString As String, _
ByVal spName As String, _
ByVal ParamArray parameterValues() As Object) As Object
If (connectionString Is Nothing OrElse connectionString.Length = 0) Then Throw New ArgumentNullException("connectionString")
If (spName Is Nothing OrElse spName.Length = 0) Then Throw New ArgumentNullException("spName")
Dim commandParameters As oledbParameter()
' If we receive parameter values, we need to figure out where they go
If Not (parameterValues Is Nothing) AndAlso parameterValues.Length > 0 Then
' Pull the parameters for this stored procedure from the parameter cache (or discover them & populate the cache)
commandParameters = SqlHelperParameterCache.GetSpParameterSet(connectionString, spName)
' Assign the provided values to these parameters based on parameter order
AssignParameterValues(commandParameters, parameterValues)
' Call the overload that takes an array of oledbParameters
Return ExecuteScalar(connectionString, CommandType.StoredProcedure, spName, commandParameters)
' Otherwise we can just call the SP without params
Else
Return ExecuteScalar(connectionString, CommandType.StoredProcedure, spName)
End If
End Function ' ExecuteScalar
' Execute a oledbCommand (that returns a 1x1 resultset and takes no parameters) against the provided oledbconnection.
' e.g.:
' Dim orderCount As Integer = CInt(ExecuteScalar(conn, CommandType.StoredProcedure, "GetOrderCount"))
' Parameters:
' -connection - a valid oledbconnection
' -commandType - the CommandType (stored procedure, text, etc.)
' -commandText - the stored procedure name or T-SQL command
' Returns: An object containing the value in the 1x1 resultset generated by the command
Public Overloads Shared Function ExecuteScalar(ByVal connection As oledbconnection, _
ByVal commandType As CommandType, _
ByVal commandText As String) As Object
' Pass through the call providing null for the set of oledbParameters
Return ExecuteScalar(connection, commandType, commandText, CType(Nothing, oledbParameter()))
End Function ' ExecuteScalar
' Execute a oledbCommand (that returns a 1x1 resultset) against the specified oledbconnection
' using the provided parameters.
' e.g.:
' Dim orderCount As Integer = CInt(ExecuteScalar(conn, CommandType.StoredProcedure, "GetOrderCount", new oledbParameter("@prodid", 24)))
' Parameters:
' -connection - a valid oledbconnection
' -commandType - the CommandType (stored procedure, text, etc.)
' -commandText - the stored procedure name or T-SQL command
' -commandParameters - an array of SqlParamters used to execute the command
' Returns: An object containing the value in the 1x1 resultset generated by the command
Public Overloads Shared Function ExecuteScalar(ByVal connection As oledbconnection, _
ByVal commandType As CommandType, _
ByVal commandText As String, _
ByVal ParamArray commandParameters() As oledbParameter) As Object
If (connection Is Nothing) Then Throw New ArgumentNullException("connection")
' Create a command and prepare it for execution
Dim cmd As New oledbCommand
Dim retval As Object
Dim mustCloseConnection As Boolean = False
PrepareCommand(cmd, connection, CType(Nothing, oledbTransaction), commandType, commandText, commandParameters, mustCloseConnection)
' Execute the command & return the results
retval = cmd.ExecuteScalar()
' Detach the oledbParameters from the command object, so they can be used again
cmd.Parameters.Clear()
If (mustCloseConnection) Then connection.Close()
Return retval
End Function ' ExecuteScalar
' Execute a stored procedure via a oledbCommand (that returns a 1x1 resultset) against the specified oledbconnection
' using the provided parameter values. This method will discover the parameters for the
' stored procedure, and assign the values based on parameter order.
' This method provides no access to output parameters or the stored procedure' s return value parameter.
' e.g.:
' Dim orderCount As Integer = CInt(ExecuteScalar(conn, "GetOrderCount", 24, 36))
' Parameters:
' -connection - a valid oledbconnection
' -spName - the name of the stored procedure
' -parameterValues - an array of objects to be assigned as the input values of the stored procedure
' Returns: An object containing the value in the 1x1 resultset generated by the command
Public Overloads Shared Function ExecuteScalar(ByVal connection As oledbconnection, _
ByVal spName As String, _
ByVal ParamArray parameterValues() As Object) As Object
If (connection Is Nothing) Then Throw New ArgumentNullException("connection")
If (spName Is Nothing OrElse spName.Length = 0) Then Throw New ArgumentNullException("spName")
Dim commandParameters As oledbParameter()
' If we receive parameter values, we need to figure out where they go
If Not (parameterValues Is Nothing) AndAlso parameterValues.Length > 0 Then
' Pull the parameters for this stored procedure from the parameter cache (or discover them & populate the cache)
commandParameters = SqlHelperParameterCache.GetSpParameterSet(connection, spName)
' Assign the provided values to these parameters based on parameter order
AssignParameterValues(commandParameters, parameterValues)
' Call the overload that takes an array of oledbParameters
Return ExecuteScalar(connection, CommandType.StoredProcedure, spName, commandParameters)
Else ' Otherwise we can just call the SP without params
Return ExecuteScalar(connection, CommandType.StoredProcedure, spName)
End If
End Function ' ExecuteScalar
' Execute a oledbCommand (that returns a 1x1 resultset and takes no parameters) against the provided oledbTransaction.
' e.g.:
' Dim orderCount As Integer = CInt(ExecuteScalar(trans, CommandType.StoredProcedure, "GetOrderCount"))
' Parameters:
' -transaction - a valid oledbTransaction
' -commandType
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -