研修でjavaを勉強しています。
SELECT文でデータベースからIDと期間を指定して出力しようとしているのですが、うまくいきません。
よろしくお願いします。
###発生している問題・エラーメッセージ
com.microsoft.sqlserver.jdbc.SQLServerException: インデックス 1 は範囲外です。
###該当のソースコード
java
public class sampleDAO {
private final String DRIVER_NAME = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private final String JDBC_URL = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=sampleSUM";
private final String DB_USER = "sa";
private final String DB_PASS = "";
public List<exampleBean> find(Date date) {
Connection conn = null;
List<exampleBean> examList = new ArrayList<exampleBean>();
// DBへ接続
try {
Class.forName(DRIVER_NAME); conn = DriverManager.getConnection(JDBC_URL, DB_USER, DB_PASS); String sql = "SELECT * FROM Sample WHERE ID=1000 and YM='?'"; PreparedStatement pStmt = conn.prepareStatement(sql); pStmt.setDate(1, date); // SELECT文の実行 ResultSet rs = pStmt.executeQuery(); while (rs.next()) { int h1 = rs.getInt("h1"); int h2 = rs.getInt("h2"); int h3 = rs.getInt("h3"); int h4 = rs.getInt("h4"); ExampleBean example = new ExampleBean(h1, h2, h3, h4); exampleList.add(example); } } catch (SQLException e) { e.printStackTrace(); return null; } finally { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); return null; } } return examList; } }
###試したこと
###補足情報(言語/FW/ツール等のバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/17 06:13
2017/10/17 11:15
2017/10/18 00:13
2017/10/18 04:39
2017/10/18 06:03