DB2探検隊(2000/10/06)

 今回は、DB2探検隊(2000/10/01)のちょっとした変更のみ。ResultSetにafterLast()メソッドがあることがわかり、last()メソッドではなく、こちらを使ってみました。これでカーソルが最後の行の後に行くので、do-while形式ではなく条件判定が前にあるループでprevious()メソッドを呼び出せます。やはり、こちらのループを使いたいですよね。

  // 以下がDB検索処理
  void jButton1_actionPerformed(ActionEvent e) {
    Connection con = null;
    String url = "jdbc:db2:sample";

    try {
      jTextArea1.append("実行開始します\n");
      Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
      jTextArea1.append("ドライバをロードしました\n");
      con = DriverManager.getConnection(url);
      Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
      jTextArea1.append("検索を行います\n");
      ResultSet rs = stmt.executeQuery("SELECT * FROM employee");
      jTextArea1.append("検索結果を逆順に示します\n");
      rs.afterLast();
      while (rs.previous()) {
        jTextArea1.append(" empno= " + rs.getString(1));
        jTextArea1.append(" firstname= " + rs.getString(2));
        jTextArea1.append("\n");
      }
      rs.close();
      stmt.close();
      con.close();
    } catch (Exception ex) {
      ex.printStackTrace();
    }
  }
}

[DB2探検隊の目次] [ホーム]