MySql - 获取行数 = 0

MySql - getting if the row count = 0

我正在尝试检查行数是否为 0,但我查看了 java 文档,但我发现了一些 getrowid 但它不起作用我没有找到更多获取该行的方法计数

public boolean isFriends(ProxiedPlayer inviter, ProxiedPlayer invited) {
    try {
        Statement sql = mySql.getConnection().createStatement();
        ResultSet resultSet = sql.executeQuery("SELECT COUNT(*) AS 1 FROM `friends` WHERE `friendinviter`='" + inviter.getName() + "' AND `invitedfriend`='" + invited.getName() + "';");
        if (resultSet == 0) {
            sql.close();
            resultSet.close();
            return false;
        }
        sql.close();
        resultSet.close();
        return true;
    } catch (SQLException e) {
        e.printStackTrace();
        return false;
    }
}

有人有办法检查这个吗,如果有请告诉我

要检查行数是否为零,您可以这样做

if (!(resultSet.next())) { // will work as resultSet == 0

}

来自docs

boolean next()
true if the new current row is valid; false if there are no more rows

  1. ResultSet 是一个对象,您不能将它与 0 进行比较。
  2. 您可以使用 resultset.next() 如果结果集有另一个 object/tuple,它给出 true。 如果没有 next object/tuple,则返回 false。 在您的情况下,它将给出 false,您将知道结果集不包含任何结果或提取的行。

你也可以折射你的代码

if (resultSet == 0) {
            sql.close();
            resultSet.close();
            return false;
        }
        sql.close();
        resultSet.close();
        return true;

try{
if(resultset.next())
 return true;
return false; 
}
catch(Exception e){}
finally{
   sql.close();
   resultSet.close();
}