C# ORACLE ストアドファンクションの戻り値

2008-01-19 16:37:10 | プログラム
FUNCTIONをOracleに作成。

C#からFUNCTIONを呼び出し戻り値を取得しようとするがうまくいかない。

試行錯誤の末、以下のようにした。

using(OracleCommand cmd = new OracleCommand("FUNCTION_NAME"))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("value", OracleDecimal, ParameterDirection.ReturnValue);
cmd.ExecuteNonQuery();
~cmd.Parameters["value"].Valueをキャストして値取得。~
}

Parametersの一番最初に指定していないと値が取得できない。
他に引数を追加していたりすると取得できなくて混乱するようだ。
なんというか、こんなのどうやって調べればわかるんだか。

忘れないうちに記載してみた。