1

我在 mysql 表中有一个时间戳列。我无法使用 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());
            }
        }

我可以确认结果集中有结果。当我省略尝试从结果集中检索时间戳的语句时,列表会按预期填充,但是,当我运行上述代码时,没有错误但列表为空。

4

2 回答 2

2

getTimestamp()适用于 DateTime MySQL 列。

请参阅在 Java中处理 MySQL 日期时间和时间戳以解决您的问题 :)

于 2013-05-24T08:14:56.303 回答
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());
}
于 2013-05-24T08:08:28.100 回答