1

値を返すオラクルストアドプロシージャがあります。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();

呼び出した OUTPUTPARAm が間違っていることはわかっています。OracleCommand の AddWithValue メソッドを使用してどのように達成できますか。Type も指定する必要がある OracleCommands Add メソッドを使用したくありません。

4

1 に答える 1

5

実行する前に、パラメータに SIZE プロパティを設定していることを確認してください。Oracle の出力パラメーターでは、指定されたサイズがバッファーとして機能します。バッファが設定されていない場合は 0 になるため、データベースから値を取得できません。

var param = Ocmd.Parameters.AddWithValue("OUTPUTParam","").Direction = ParameterDirection.Output;
param.Size = 255;

残りは良いです!

于 2012-02-29T06:56:38.563 に答える