0
2つのタイムスタンプ間でレコードを取得するSQL文に問題があります。これはちょうど私にNullPointerExceptionを与えているだけで、構文エラーだと思います。私は検索していて、何も見つかりませんでした。これは、ステートメントである:文を作成SQL文の構文エラー
private static final String strGetRecordByDate =
"SELECT * FROM APP.MYTABLE " +
"WHERE MYDATE >= ?, AND MYDATE <= ? " +
"VALUES (?, ?)";
:
stmtGetRecordByDate = dbConnection.prepareStatement(strGetRecordByDate);
nullポインタ例外が)(stmtGetRecordByDate.clearParametersに示しています
public Vector getRecordByDate(Date datefrom, Date dateto){
Vector<String> records = new Vector<String>();
ResultSet results = null;
java.sql.Date sqlDatefrom = new java.sql.Date(datefrom.getTime());
java.sql.Date sqlDateto = new java.sql.Date(dateto.getTime());
try {
stmtGetRecordByDate.clearParameters();
stmtGetRecordByDate.setDate(1, sqlDatefrom);
stmtGetRecordByDate.setDate(2, sqlDateto);
results = stmtGetRecordByDate.executeQuery();
while (results.next()) {
int id = results.getInt(1);
String entry = results.getString(2);
records.add(entry);
}
} catch(SQLException sqle) {
sqle.printStackTrace();
}
return records;
}
クエリやステートメントの残りの部分は正常に動作しますだから私は、データベース自体がうまくいないことを知っている、これは何か間違っている。
どのような提案も素晴らしいでしょう。 ありがとう!
ハハええ、迷惑行為は、コード内に誤ったタイプではなかった。どうすれば完璧に働いたのですか – Ross
どうすればVALUESを使用できない場合でもパラメータを使用できますか? – Ross
@stroduces:あなたの 'stmtGetRecordByDate.setDate'呼び出しは値をプレースホルダにバインドします。 'VALUES'は通常INSERTでのみ使用されます。 –