-1
 try {

        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/employee", "root", "root");
        String query = "select * from sample;";
        Statement stmt = con.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
        stmt.executeQuery(query);
        ResultSet rs = stmt.getResultSet();
        rs.absolute(3);

        while (rs.next()) {
            System.out.println(rs.getString("name"));
        }
            rs.beforeFirst();
            while (rs.next()) {
            System.out.println(rs.getString("name"));
        }

 while (rs.previous()) {
            System.out.println(rs.getString("name"));
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }

这工作正常。这ResultSetTYPE_FORWARD_ONLY但我也可以朝前一个方向前进。谁能解释一下,我用谷歌搜索,但没有得到任何满意的答案。

4

1 回答 1

2

roseindia.net所述

ResultSet方法将光标设置在最后一条记录之后。它将光标位置设置为 last + 1。void afterLast()将光标移动到该ResultSet对象的末尾,就在最后一行之后。如果结果集不包含行,则此方法无效。

句法:

ResultSet rs;

void rs.afterLast();

现在我们将使用此方法创建示例。在此示例中,afterLast() 指向结果集对象中的最后一个位置,结果集 previous() 将光标移动到此 ResultSet 对象中的上一行。

于 2012-12-23T11:36:43.167 回答