[seasar-dotnet:645] S2Dao-StoredProcedureのOUT、または、IN OUTの戻り値について
KIYOSUE Minoru
[E-MAIL ADDRESS DELETED]
2007年 11月 15日 (木) 20:51:04 JST
お世話になっております、清末です。
今朝ほどの質問の他に1点気が付いたことがあるのでメールいたします。
ODP.netを使用して、OracleのStoredProcedureを呼び出し、OUT(または、IN OUT)の
値を取得すると、一つ前のパラメータの値が戻ってきます。
ソースをおったところ、
ObjectBasicProcedureHandler.csのExecuteメソッドで、OutまたはInOutパラメータ値を
取得する際ODP.netは、ReturnValueを先頭に設定しているが、IDbCommandの配列と
Argsの配列のインデックスが同一であるため、一つ前の値が設定されています。
// OutまたはInOutパラメータ値を取得する
for (int i = 0; i < args.Length; i++)
{
if (ArgumentDirection[i] == ParameterDirection.InputOutput ||
ArgumentDirection[i] == ParameterDirection.Output)
{
args[i] = ((IDataParameter) cmd.Parameters[i]).Value;
~~~~~~~
}
}
トラッキングへの記入方法がわからなかったためメールしましたので、手続き方よろしくお願い
申し上げます。
seasar-dotnet メーリングリストの案内