Oracle方面 1.创建Oracle过程存储 create or replace procedure proce_test( paramin in varchar2,paramout out varchar2,paraminout in out varchar2 ) as varparam varchar2( 28 ); begin varparam:=paramin; paramout:=varparam|| paraminout; end; 2.测试过程存储 declare param_out varchar2( 28 ); param_inout varchar2( 28 ); begin param_inout:='ff'; proce_test( 'dd',param_out,param_inout ); dbms_output.put_line( param_out ); end; C#方面 引用Oracle组件 using System; using System.Data; using System.Data.OracleClient; namespace WebApplication4 { public class OraOprater { private OracleConnection conn=null; private OracleCommand cmd=null; public OraOprater( ) { string mConn= ; //连接数据库 conn=new OracleConnection( mConn ); try { conn.Open( ); cmd=new OracleCommand( ); cmd.Connection=conn; } catch( Exception e ) { throw e; } } public string SpExeFor( string m_A,string m_B ) { //存储过程的参数声明 OracleParameter[] parameters={ new OracleParameter( ,OracleType.VarChar,20 ), new OracleParameter( ,OracleType.VarChar,20 ), new OracleParameter( ,OracleType.VarChar,20 ) }; parameters[0].Value=m_A; parameters[2].Value=m_B; parameters[0].Direction=ParameterDirection.Input; parameters[1].Direction=ParameterDirection.Output; parameters[2].Direction=ParameterDirection.InputOutput; try { RunProcedure( ,parameters ); return parameters[1].Value.ToString( ); } catch( Exception e ) { throw e; } } private void RunProcedure( string storedProcName,OracleParameter[] parameters ) { cmd.CommandText=storedProcName;//声明存储过程名 cmd.CommandType=CommandType.StoredProcedure; foreach( OracleParameter parameter in parameters ) { cmd.Parameters.Add( parameter ); } cmd.ExecuteNonQuery( );//执行存储过程 } } } 测试结果:ddff
C#调用oracle存储过程
最新推荐文章于 2022-06-09 12:55:48 发布