对于只有一行的 ResultSet,我需要 next() 吗?

noo*_*mer 0 java mysql jdbc resultset

我有以下代码

Statement stmt = SqlHelper.initializeDB();
String query = "SELECT status " + 
                "FROM books " + 
                "WHERE bookId = '" + bookId + "'";
ResultSet rs = stmt.executeQuery(query);
result = rs.getString(1);
rs.close();
SqlHelper.closeConnection();
Run Code Online (Sandbox Code Playgroud)

我需要使用 rs.next() 吗?我确信只有一行数据,因为 bookId 在表中必须是唯一的。但默认情况下, ResultSet 的游标在第一行之前开始,所以我不确定是否需要 next() 。

Jig*_*shi 5

是的,你需要 next()

一个ResultSet对象维护一个指向其当前数据行的游标。最初光标定位在第一行之前......