アプリ版:「スタンプのみでお礼する」機能のリリースについて

rs=objPs.executeQuery();のrsには何が入っているかを確認する方法をお教えください。
SQL文の結果の値を利用しようとしています。
rs=objPs.executeQuery();
の中には、何がセットされるのでしょうか?

A 回答 (3件)

rsを利用するためにrsに何が入っているのかを知る必要がありません。


rsはRecordSetインターフェースを実装しているので、RecordSetインターフェースの仕様がわかればrsを使用することができます。
これはJavaにおいて(Javaに限ったことではないですが)基本的な考え方なので覚えておいてください。
    • good
    • 0

objPsはjava.sql.Statementということでしょうか?


executeQueryが、java.sql.Statement#executeQuery(String sql)なら、
戻り値のrsは、java.sql.ResultSetということになりますね。
executeQueryの引数(String)に入ったSQL文(SELECT文)を実行し、
得られた検索結果が格納されているクラスになります。

「rsには何が入っているか」というのが
検索結果を取り出したいという意味であれば、以下のようにします。
(クラス名や列名はあくまでサンプルです)

  public java.util.ArrayList selectUser(java.sql.StatementobjPs, String sql) {
    java.sql.ResultSet rs = objPs.executeQuery(sql);
    java.util.ArrayList list = new java.util.ArrayList();
    try {
      while(rs.next() == true) {
        UserData ud = new UserData();
        ud.setUserNo(rs.getString("USERNO"));
        ud.setUserName(rs.getString("USERNAME"));
        ud.setAge(rs.getInt("AGE"));
        list.add(ud);
      }
    }
    catch(java.sql.SQLException e) {
      e.printStackTrace();
    }
  }

「rsには何が入っているか」というのが
どういう型のオブジェクトが入っているのかということなら、
System.out.println("rs=" + rs);
としてもいいですし(標準出力にクラス名が表示されます)、
String className = rs.getClass().getName();
とすれば、クラス名を文字列として取得できます。
    • good
    • 0

こんばんは。



rs、objPsの型が何かわかりませんが、
rsまたはobjPsクラス型をJavaDocで参照してみては
いかがでしょうか。

使用できるメソッド等がわかります。

その中に、見たい情報を出力するメソッドが
見つかるかもしれません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!