我在mysql表中有一个timestamp列。我无法使用getTimestamp(String label)从java.sql.ResultSet中检索此值。
ResultSet rs = preparedStatement.getResultSet();
rList = new ArrayList<String>();
while (rs.next() != false){
rList.add(rs.getString("urlstring"));
if (rs.getTimestamp("mytimestamp") == null) {
rList.add("null");
} else {
rList.add(rs.getTimestamp("mytimestamp").toString());
}
}
我可以确认结果集中有结果。当我省略试图从结果集中检索时间戳的语句时,列表按预期填充,但是,当我运行上面的代码时,没有错误,但列表是空的。
答案 0 :(得分:2)
getTimestamp()适用于DateTime MySQL列。
请参阅Handling MySQL datetimes and timestamps in Java以解决您的问题:)
答案 1 :(得分:0)
你做过
ResultSet rs = preparedStatement.exequteQuery();
您可以尝试(如果这是第一个while (rs.next())
)。
if (rs.first()) {
do {
rList.add(rs.getString("urlstring"));
if (rs.getTimestamp("mytimestamp") == null) {
rList.add("null");
} else {
rList.add(rs.getTimestamp("mytimestamp").toString());
}
} while (rs.next());
}