oracle 調用包體的函數並返回return值
阿新 • • 發佈:2018-09-12
datarow ret .com rect tex ring catch param finally
/// <summary> /// 執行數據庫包體操作,返回結果 /// </summary> /// <param name="cmdText">包體函數或存儲過程</param> /// <param name="commandParameters">參數集合</param> /// <returns></returns> public static int ExecuteNonQuery_package(string cmdText,string canshu) { int result; OracleConnection conn= new OracleConnection(connstr); OracleCommand cmd = conn.CreateCommand(); try { OracleParameter[] parameters = { new OracleParameter("返回參數",OracleDbType.Int32,1,ParameterDirection.ReturnValue,true,0,0,"",DataRowVersion.Default,Convert.DBNull), new OracleParameter("參數名與數據庫一致",OracleDbType.Varchar2,100) }; parameters[1].Value = canshu; cmd.CommandText = cmdText; cmd.CommandType = CommandType.StoredProcedure; foreach (OracleParameter param in parameters) cmd.Parameters.Add(param); conn.Open(); cmd.ExecuteNonQuery(); var aaa = parameters[0].Value.ToString(); result= Convert.ToInt32(aaa); } catch (Exception) { throw; } finally { cmd.Dispose(); conn.Close(); conn.Dispose(); } return result; }
oracle 調用包體的函數並返回return值