现在的位置: 首页 > 综合 > 正文

ado.net执行oracle 存储过程

2013年01月16日 ⁄ 综合 ⁄ 共 945字 ⁄ 字号 评论关闭

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 ();

   }

 

抱歉!评论已关闭.