■55758 / ) |
Re[5]: プロシージャの戻り値がnullの時 |
□投稿者/ ペンギン (3回)-(2010/12/13(Mon) 16:04:30)
|
ご回答ありがとうございます。
>> HASH_RET.Add(tmpPrm.Name,((OracleDataAdapter)DA).SelectCommand.Parameters[i].Value); >これでDBから値を取得したいのだと思いますが、このParametersはSelectCommandに対して >渡すパラメータになるので取得は出来ないかと思います。
現在、以下の処理を実施し、PL/SQLをコールしています。 ((OracleCommand)(DA.SelectCommand)).ExecuteNonQuery();
コールしたPL/SQLの戻り値はこれまでご説明した処理で取得しています。 これら一連の処理でnull以外の戻り値の取得は出来ています。 大変申し訳ございませんが、頂いた処理を良く理解しておりません。 何か参考になるドキュメントなどがございましたらご紹介お願い出来ますでしょうか。
>取得した値がNullであるか確認するのに >DBNull.Value == 〜 >と判断することが出来るらしい。(C#普段使っていない為未確認)
以下のように改修してみましたがやはりnullと判断されず、elseとなってしまいます。 if (DBNull.Value == (((OracleDataAdapter)DA).SelectCommand.Parameters[i].Value)){ HASH_RET.Add(tmpPrm.Name,""); }else{ HASH_RET.Add(tmpPrm.Name,((OracleDataAdapter)DA).SelectCommand.Parameters[i].Value); }
なお説明が不十分で大変申し訳ございませんが、実は今回の問題はシステムのWindows7対応で ミドルウェアのバージョンアップに伴う改修を行っている際に発生したものです。 以前の環境では正常に動作しています。
[以前の環境] 開発ツール :VisualStudio2003 開発言語 :C# ミドルウェア :.NetFrameWork1.1 Oracle :OracleDatabase 9.2.0.8 Oracle Client 9.2.0.8 Oracle Data Provider for .NET 9.2.0.4.0 Oracle Provider for OLE DB 9.2.0.4.0
情報が足りなければ補足します。 どうぞよろしくお願いします。
|
|