比如在oracle中自定义了个函数function_test
有3个参数
param1 输入参数,param2 输入参数,param3 输出参数
param3=param1+param2 
想用C#代码调用该函数function_test
这段代码怎么写,求教!!!!!

解决方案 »

  1.   

    c#版块问问OracleConnection   oc=new   OracleConnection( "data   source=ccserver;User   Id=cym1;Password=cym "); 
    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()); 
      

  2.   

    把它当做一个字段就可以了
    如 select function_test(test1,test2) from dual 
    执行方法同执行一般的查询语句一样。
      

  3.   

    结贴 OracleParameter[] parameters = new OracleParameter[] {
                                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();