java - hsqldb - 如何替换我的 Highscore(包含前 10 名)表中的值

标签 java sql hsqldb

我有一个包含 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/

相关文章:

java - Android 上的设备方向

MYSQL Left Join Or Get value from Subquery if the value exists 如果值存在

java - 无法删除 HSQLDB 文件

c# - SQL Server : conversion failed when converting from a character string to uniqueidentifier

java - 使用直接调用查询更新表出错

java - 事务管理似乎不适用于 Spring 测试

java - 将字节转换为整数 - 为什么每个字节与 0xff 相与?

java - JPA/hibernate "Composite-id class does not override equals()"

java - 停止向 Angular http 发送响应并从 Controller 加载新的 jsp 页面

mysql - SQL Distinct - 获取所有值