我有一个oracle存储过程,它将返回值。我需要在C#程序中获得输出值。我需要知道如何使用OracleCommands AddWithValue方法获得输出参数。
我现在写的方式是:
OracleCommand Ocmd = new OracleCommand(_StoredProcedure, OraCon);
Ocmd.CommandType = CommandType.StoredProcedure;
Ocmd.Parameters.AddWithValue("Filed1", "Value1");
Ocmd.Parameters.AddWithValue("OUTPUTParam","").Direction = ParameterDirection.Output;
OraCon.Open();
int RecivedDetID = Ocmd.ExecuteNonQuery();
OraCon.Close();
return Ocmd.Parameters[_OutParam].Value.ToString();我知道我调用OUTPUTPARAm的方式是错误的。如何使用OracleCommand的AddWithValue方法来实现它。我不想在需要指定类型的地方使用OracleCommands Add方法。
发布于 2012-02-29 14:56:39
确保在执行之前设置了参数的SIZE属性。使用Oracle中的output参数,指定的大小充当缓冲区。如果没有设置缓冲区,它就是0,因此您不会从数据库中获取该值。
var param = Ocmd.Parameters.AddWithValue("OUTPUTParam","").Direction = ParameterDirection.Output;
param.Size = 255;其他的都很好!
https://stackoverflow.com/questions/9494794
复制相似问题