ado.net執行oracle 存儲過程如下:
OracleConnection con=new OracleConnection(strcon);
OracleCommand cmd=new OracleCommand();
OracleTransaction mytrans ;
try
{
con.Open ();
mytrans =con.BeginTransaction();
cmd.Connection =con;
cmd.CommandText ="rfgetid";
cmd.CommandType =CommandType .StoredProcedure;
cmd.Transaction =mytrans ;
OracleParameter parameter_in=new OracleParameter("as_bm",OracleType.Char);
OracleParameter parameter_out=new OracleParameter ("as_sxh",OracleType .Number );
parameter_in.Direction =ParameterDirection .Input;
parameter_out.Direction=ParameterDirection .Output ;
parameter_in .Value =tblname.ToUpper();
cmd.Parameters .Add(parameter_in );
cmd.Parameters.Add(parameter_out);
cmd.ExecuteNonQuery();
mytrans .Commit();
return int.Parse(parameter_out .Value.ToString()) ;
}
catch(Exception er)
{
throw new Exception(er.Message);
mytrans .Rollback();
}
finally
{
cmd.Dispose ();
con.Close ();
}