如何在Java中使用executeQuery()获取返回?
我有这个密码如何在Java中使用executeQuery()获取返回?,java,mysql,sql,database,bukkit,Java,Mysql,Sql,Database,Bukkit,我有这个密码 String sql = "UPDATE Players SET Losses=Losses+1 WHERE UUID='" + p.getUniqueId() + "';"; stmt.executeUpdate(sql); 如何获得特定玩家p的当前损失?您可以获得如下损失。看起来真的很琐碎,我猜你是个绝对的初学者 String sql = "SELECT Losses FROM Players WHERE UUID='" + p.getUniqueId() + "';";
String sql = "UPDATE Players SET Losses=Losses+1 WHERE UUID='" + p.getUniqueId() + "';";
stmt.executeUpdate(sql);
如何获得特定
玩家p
的当前损失
?您可以获得如下损失。看起来真的很琐碎,我猜你是个绝对的初学者
String sql = "SELECT Losses FROM Players WHERE UUID='" + p.getUniqueId() + "';";
ResultSet rs = stmt.executeQuery(sql);
int losses = -1;
if(rs.next()) {
losses = rs.getInt("Losses");
}
SELECT查询将返回它,但您真正的问题是什么
String sql=“选择列名称,从表名称中选择列名称,其中列名称=” 你必须做一个SELECT语句。就像从UUID=“+p.getUniqueId()+”;";
然后使用语句的executeQuery()返回一个ResultSet。您可以使用迭代器从ResultSet对象提取数据。我会使用Select for Update,类似这样的-
String query = "SELECT Losses FROM Players FOR UPDATE "
+ "Players SET Losses=Losses+1 WHERE UUID=?";
ps = conn.prepareStatement(query,
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_UPDATABLE);
ps.setString(1, p.getUniqueId());
ResultSet rs = ps.executeQuery();
int losses = 0;
if (rs.next()) {
losses = rs.getInt("Losses");
}