當前位置:開發者網絡 >> 技術教程 >> .NET教程 >> 評論及其它 >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
使用存儲過程的一個小例子
作者:未知
日期:2005-03-17
人氣:
投稿:snow(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:
Public Overloads Sub Update(ByVal authorityArr As IList)
log.Debug("Update a record in table TBL_M_AUTHORITY")

Dim connection As OracleConnection = New OracleConnection(OraHelper.CONN_STRING_LOCAL)
Dim command As OracleCommand = New OracleCommand(PLSQL_UPDATE, connection)
command.CommandType = CommandType.StoredProcedure
Dim txn As OracleTransaction

Dim updateParms() As OracleParameter = {New OracleParameter(PARM_AUTH_CD, OracleDbType.Varchar2) _
, New OracleParameter(PARM_AUTH_NAME, OracleDbType.Varchar2) _
, New OracleParameter(PARM_SHORI_STAFF_CD, OracleDbType.Decimal) _
, New OracleParameter(PARM_VOID_FLG, OracleDbType.Varchar2) _
, New OracleParameter(PARM_DISP_ORDER, OracleDbType.Decimal)}
Dim authInfo As AuthorityInfo


Try
connection.Open()

txn = connection.BeginTransaction(IsolationLevel.ReadCommitted)

For Each authInfo In authorityArr
updateParms(0).Value = authInfo.auth_cd
updateParms(1).Value = authInfo.auth_name
updateParms(2).Value = authInfo.shori_staff_cd
updateParms(3).Value = authInfo.void_flg
If authInfo.disp_order_str Is Nothing Or authInfo.disp_order_str.Trim = "" Then
updateParms(4).Value = DBNull.Value
Else
updateParms(4).Value = Decimal.Parse(authInfo.disp_order_str)
End If

Dim params As OracleParameter
command.Parameters.Clear()

For Each params In updateParms
command.Parameters.Add(params)
Next
command.ExecuteNonQuery()
Next
txn.Commit()
Catch ex As Exception
txn.Rollback()
log.Debug(ex.Message)
log.Debug(ex.StackTrace)
Throw ex
Finally
If Not connection Is Nothing Then
connection.Close()
connection.Dispose()
End If
If Not command Is Nothing Then
command.Dispose()
End If
End Try
End Sub


相關文章: