[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 メーリングリストの案内