2 回答
TA贡献1854条经验 获得超8个赞
经过大量搜索我终于找到了答案。
您可以使用 resultSet.absolute(row_number) 方法来实现此目标。像这样编写 getRow() 方法主体:
public static Person getRow(int rowNumber) throws SQLException {
String sql = "SELECT * FROM profiles";
try (
Connection connection = DBUtil.getConnection();
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
) {
if (resultSet.absolute(rowNumber)) {
return new Person(resultSet.getInt("personId"), resultSet.getString("name"),
resultSet.getString("family"), resultSet.getString("nationalId"));
} else {
System.err.println("No row were found !");
return null;
}
} catch (SQLException e) {
System.err.println(e);
return null;
}
}
当然,您将通过这种方式检索所有数据库。但它对于像我这样大的数据库工作得很好(;
TA贡献1794条经验 获得超7个赞
原因就在这里。您使用 rowNumber 来搜索 personId。您不应该对哪些值有 rowNumber 做任何假设。相反,按 personId 搜索。
添加回答
举报