0
使用sql語句檢索兩個時間戳記之間的記錄時遇到問題。這只是給了我一個NullPointerException,我認爲這只是一個語法錯誤,我一直在四處搜索,我找不到任何東西。這是結:SQL語句語法錯誤
private static final String strGetRecordByDate =
"SELECT * FROM APP.MYTABLE " +
"WHERE MYDATE >= ?, AND MYDATE <= ? " +
"VALUES (?, ?)";
創建聲明:
stmtGetRecordByDate = dbConnection.prepareStatement(strGetRecordByDate);
的空指針異常顯示了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;
}
查詢的其餘部分和陳述做工精細所以我知道數據庫本身很好,但是這只是一個錯誤。
任何建議將是偉大的。 謝謝!
哈哈是啊對不起,流浪,不是在代碼只是一個misstype。在哪裏工作完全謝謝 – Ross 2012-02-12 02:50:20
如何我可以使用參數,如果我不能使用VALUES? – Ross 2012-02-12 03:00:54
@stroduces:你的'stmtGetRecordByDate.setDate'調用綁定值到佔位符。 'VALUES'通常只用於INSERT。 – 2012-02-12 03:11:03