我有一个包含 2 列的表格,名称和分数。 我说它有 10 个带有分数的名称,我想替换分数最低的行 如果新分数大于或等于表中的最低分数,则使用新名称和分数。
我设法首先获得最高值的 ResultSet,但我不需要用我的新名称和分数(在 java 中)替换它。
String newName = "Test";
int score = 12345;
ResultSet result;
Statement stat = conn.createStatement();
result = stat.executeQuery("SELECT * FROM Highscore ORDER BY Score DESC");
result.next();
if(result.getInt(2) <= score) {
// enter code here
}
最佳答案
尝试这样的事情
String newName = "Test";
int score = 12345;
int newScore = 54321;
ResultSet result;
Statement stat = conn.createStatement();
result = stat.executeQuery("SELECT * FROM Highscore ORDER BY Score ASC");// use DESC if u want to replace the highest value
result.next();
if(result.getInt(2) <= score)
{
PreparedStatement preparedStatement = conn.prepareStatement("UPDATE Highscore SET Name =? Score = ? WHERE Score = ?");
preparedStatement.setString(1, newName);
preparedStatement.setString(2, newScore);
preparedStatement.setString(3, result.getInt(2));
int updateCount = preparedStatement.executeUpdate();
}
关于java - hsqldb - 如何替换我的 Highscore(包含前 10 名)表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27292634/