2 回答

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊
經(jīng)過大量搜索我終于找到了答案。
您可以使用 resultSet.absolute(row_number) 方法來實(shí)現(xiàn)此目標(biāo)。像這樣編寫 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;
}
}
當(dāng)然,您將通過這種方式檢索所有數(shù)據(jù)庫。但它對于像我這樣大的數(shù)據(jù)庫工作得很好(;

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
原因就在這里。您使用 rowNumber 來搜索 personId。您不應(yīng)該對哪些值有 rowNumber 做任何假設(shè)。相反,按 personId 搜索。
添加回答
舉報(bào)