///添加返回参数ReturnValue
cmd.Parameters.Add(
new OracleParameter("RETURNVALUE",OracleType.Int32 , 4, ParameterDirection.ReturnValue,
false, 0, 0, string.Empty, DataRowVersion.Default, null));下面是完整的
public OracleCommand CraeteCommand(string procname, OracleParameter[] param)
{
///打开数据库连接
Open(); ///设置Command
OracleCommand cmd = new OracleCommand();
cmd.Connection = cn;
cmd.CommandText = procname;
cmd.CommandType = CommandType.StoredProcedure;
///添加把存储过程的参数
if (param != null)
{
foreach (OracleParameter parameter in param)
{
cmd.Parameters.Add(parameter);
}
} ///添加返回参数ReturnValue
cmd.Parameters.Add(
new OracleParameter("RETURNVALUE",OracleType.Int32 , 4, ParameterDirection.ReturnValue,
false, 0, 0, string.Empty, DataRowVersion.Default, null)); ///返回创建的Command对象
return cmd; }我在执行的时候,加了返回参数那段就不能执行(执行的是oracle存储分页过程,返回一个值和游标)
去掉就能执行1、那段返回参数是什么意思??
cmd.Parameters.Add(
new OracleParameter("RETURNVALUE",OracleType.Int32 , 4, ParameterDirection.ReturnValue,
false, 0, 0, string.Empty, DataRowVersion.Default, null));下面是完整的
public OracleCommand CraeteCommand(string procname, OracleParameter[] param)
{
///打开数据库连接
Open(); ///设置Command
OracleCommand cmd = new OracleCommand();
cmd.Connection = cn;
cmd.CommandText = procname;
cmd.CommandType = CommandType.StoredProcedure;
///添加把存储过程的参数
if (param != null)
{
foreach (OracleParameter parameter in param)
{
cmd.Parameters.Add(parameter);
}
} ///添加返回参数ReturnValue
cmd.Parameters.Add(
new OracleParameter("RETURNVALUE",OracleType.Int32 , 4, ParameterDirection.ReturnValue,
false, 0, 0, string.Empty, DataRowVersion.Default, null)); ///返回创建的Command对象
return cmd; }我在执行的时候,加了返回参数那段就不能执行(执行的是oracle存储分页过程,返回一个值和游标)
去掉就能执行1、那段返回参数是什么意思??
new OracleParameter("@RETURNVALUE",OracleType.Int32 , 4, ParameterDirection.ReturnValue,
false, 0, 0, string.Empty, DataRowVersion.Default, null));
参数都要加 @
cmd.Parameters.Add(
new OracleParameter("RETURNVALUE",OracleType.Int32 , 4, ParameterDirection.ReturnValue,
false, 0, 0, string.Empty, DataRowVersion.Default, null)); 去掉就可以了
怎样添加返回值