【发布时间】:2012-02-12 02:37:25
【问题描述】:
使用 sql 语句检索两个时间戳之间的记录时遇到问题。这只是给了我一个 NullPointerException,我认为这只是一个语法错误,我一直在四处寻找,但我找不到任何东西。这是声明:
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;
}
其余的查询和语句工作正常,所以我知道数据库本身很好,只是这个有问题。
任何建议都会很棒。 谢谢!
【问题讨论】: