比如在oracle中自定义了个函数function_test
有3个参数
param1 输入参数,param2 输入参数,param3 输出参数
param3=param1+param2
想用C#代码调用该函数function_test
这段代码怎么写,求教!!!!!
有3个参数
param1 输入参数,param2 输入参数,param3 输出参数
param3=param1+param2
想用C#代码调用该函数function_test
这段代码怎么写,求教!!!!!
OracleCommand ocmd=new OracleCommand();
OracleParameter op=new OracleParameter( "p1 ",OracleType.Number);
OracleParameter op1=new OracleParameter();
op1.OracleType=OracleType.Number;
op1.Direction=ParameterDirection.ReturnValue;
op.Value=5;
ocmd.Parameters.Add(op);
ocmd.Parameters.Add(op1);
ocmd.Connection=oc;
ocmd.CommandText= "rn ";
ocmd.CommandType=CommandType.StoredProcedure;
oc.Open();
ocmd.ExecuteNonQuery();
oc.Close();
Response.Write(op1.Value.ToString());
如 select function_test(test1,test2) from dual
执行方法同执行一般的查询语句一样。
new OracleParameter("result",0),//受影响行数
new OracleParameter("p_a","a"),//
new OracleParameter("p_b","b"),//
new OracleParameter("p_c","c"),//
new OracleParameter("p_c",null),//
new OracleParameter("p_e","4"),//
new OracleParameter("p_f",DateTime.Now.ToString("yyyy-MM-dd")),//
new OracleParameter("p_g",DateTime.Now.ToString("yyyy-MM-dd")),//
new OracleParameter("p_h","0"),//
new OracleParameter("p_i","1439"),//
new OracleParameter("p_j","70"),//
new OracleParameter("p_k",null),//
new OracleParameter("p_l",null),//
new OracleParameter("p_m","0"),
new OracleParameter("p_n","0"),//
new OracleParameter("p_o","0"),//new OracleParameter("p_out"," ")//返回信息
}; parameters[0].Direction = System.Data.ParameterDirection.ReturnValue;
parameters[16].Direction = System.Data.ParameterDirection.Output; oracle.GetProcedure("function_name", parameters); string strsPara = parameters[16].Value.ToString();