いつもお世話になっております。
下記の処理でSQLを実行した後、テーブルからレコードが一件も取得できない
状態で困っています。
デバッグ機能にてselectSQL変数のSQL文、
バインド変数としてselectSQLへ渡すparametersの値を確認し、
実行されるであろうSQLを実行し、結果として1件取得できることを確認しています。
PreparedStatement prepareStatement = getConnection().prepareStatement(selectSQL);
ResultSet resultSet = null;
for (int i = 0; i < parameters.size(); i++)
{
prepareStatement.setString(i + 1, (String) parameters.get(i));
}
resultSet = prepareStatement.executeQuery();
while (resultSet.next()) {
・・・・(処理)
}
prepareStatement.setString処理でsetしている値、
executeQery処理で実行しているSQL文の確認方法はありましたら、
教えて頂きたいです。
よろしくお願いします。
<2015/03/10追記>
自社の開発ツールを使うことができたので、SQLトレースを行い、
実行しているSQLを特定することができました。
しかし、
resultSet = prepareStatement.executeQuery();
上記のresultSetに実行結果を代入しているところをデバッグしたところ、
レコード件数が0件でした。
実行しているSQLをSQLPLUSにて実行したところ、1件取れています。
直前でレコードが取得できるはずのSQLを発行しているにも関わらず、
結果を代入する処理で代入できないことなどあるのでしょうか???
argiusさん
フリーのツールでそういったものもあるんですね!
ご紹介いただき、ありがとうございました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/03/11 07:48