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
- ResultSet 是一个对象,您不能将它与 0 进行比较。
- 您可以使用 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();
}
我正在尝试检查行数是否为 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
- ResultSet 是一个对象,您不能将它与 0 进行比较。
- 您可以使用 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();
}