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

これはうまくいっています。ここResultSetにありTYPE_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 に答える