smi*_*ilu 1 asp.net oracle system.data.oracleclient
我有一个oracle存储过程,它将返回一个值。我需要在C#程序中获取OUTPUT值。我需要知道如何使用OracleCommands AddWithValue方法获取OUTPUT参数。
我现在写的方式是:
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();
Run Code Online (Sandbox Code Playgroud)
我知道我所说的OUTPUTPARAm是错误的。我如何使用OracleCommand的AddWithValue方法实现它。我不想在需要同时指定Type的地方使用OracleCommands Add方法。
小智 5
在执行之前,请确保在参数上设置SIZE属性。使用Oracle中的输出参数,指定的大小用作缓冲区。如果未设置缓冲区,则该缓冲区为0,因此您不会从数据库中获取该值。
var param = Ocmd.Parameters.AddWithValue("OUTPUTParam","").Direction = ParameterDirection.Output;
param.Size = 255;
Run Code Online (Sandbox Code Playgroud)
其余的很好!
| 归档时间: |
|
| 查看次数: |
10207 次 |
| 最近记录: |