我正在尝试检查行计数是否为 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;
}
}
有人有办法检查吗,如果有请告诉我
最佳答案
- ResultSet 是一个对象,不能将其与 0 进行比较。
- 您可以使用resultset.next() 如果结果集有另一个对象/元组,则返回 true。 如果没有下一个对象/元组,则返回 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();
}
关于java - MySql - 获取行数是否= 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29924142/