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