我想问下,在oracle中,其函数是有返回值的,那这个返回值是去什么地方了?比如说,一个java程序调用oracle的一个函数,其返回值是不是去java程序调用方那边了?存储过程是通过参数来返回数据的,那如果java调用一个存储过程,其返回数据是不是返回到java程序调用方那边了?

解决方案 »

  1.   

    要用一个传出型参数,接收oracle返回的值.
    Java不懂,没办法用例子
      

  2.   


    DataSet dsReturn = new DataSet();
    //调用存储过程
    string cmdText = "procedureTest";
    DbCommand cmd = db.GetStoredProcCommand(cmdText);#region 设置参数
    //设置输入参数
    db.AddInParameter(cmd, "p_paraA", DbType.AnsiString, 'test');
    //设置输出参数
    db.AddOutParameter(cmd, "p_paraB", DbType.AnsiString, 200);
    #endregion //设置参数
    //执行存储过程
    TosExecuteNonQuery(cmd);
    #region 取输出参数值
    //取 p_paraB
    string paraB= Convert.ToString(db.GetParameterValue(cmd, "p_paraB"));
      

  3.   


    更正下
    DataSet dsReturn = new DataSet();
    //调用存储过程
    string cmdText = "procedureTest";
    DbCommand cmd = db.GetStoredProcCommand(cmdText);#region 设置参数
    //设置输入参数
    db.AddInParameter(cmd, "p_paraA", DbType.AnsiString, 'test');
    //设置输出参数
    db.AddOutParameter(cmd, "p_paraB", DbType.AnsiString, 200);
    #endregion //设置参数
    //执行存储过程
    db.ExecuteNonQuery(cmd);
    #region 取输出参数值
    //取 p_paraB
    string paraB= Convert.ToString(db.GetParameterValue(cmd, "p_paraB"));