【发布时间】:2020-05-10 10:27:33
【问题描述】:
据我所知getInt(column index)从当前行检索列值,但我不明白它在这种情况下的用途。 SQL语句不是SELECT COUNT(*) FROM Gyujtoallomasok
已经计算表中的行数了吗?如果是这样,为什么我们需要其余的?
public int count() {
try (Connection connection = DriverManager.getConnection(URL);
Statement statement = connection.createStatement()) {
ResultSet resultSet = statement.executeQuery("SELECT COUNT(*) FROM Gyujtoallomasok");
if (resultSet.next()) {
int count = resultSet.getInt(1);
return count;
}
} catch (SQLException exception) {
// TODO: log
}
return -1;
}
【问题讨论】:
-
如果你删除它会发生什么? (作为一个教学问题:如果你认为某事是不必要的,你必须认为没有它会发生什么)
-
COUNT(*)将在 ResultSet 中创建类型为int的列,以表示行数。您正在从整数类型列中读取值,这就是resultSet.getInt(1)您使用此语句的原因。请参阅文档以了解更多信息Here