如何从java.sql.timestamp中检索mysql时间戳列

时间:2013-05-24 07:55:22

标签: java mysql

我在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());
            }
        }

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

2 个答案:

答案 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());
}