Java如何增加数据库表中的double值

Java如何增加数据库表中的double值,java,sql,database,sql-update,Java,Sql,Database,Sql Update,我在计算将更新我的一个表中的列中的值的查询时遇到一些困难。以下是我的职责: public void increasePrice(String [] str) { PreparedStatement ps = null; try { ps = connection.prepareStatement("Update Journey Set price+=? where distance <?",PreparedStatement.RETURN_GENERATE

我在计算将更新我的一个表中的列中的值的查询时遇到一些困难。以下是我的职责:

public void increasePrice(String [] str) {

    PreparedStatement ps = null;
    try {
        ps = connection.prepareStatement("Update Journey Set price+=? where distance <?",PreparedStatement.RETURN_GENERATED_KEYS);
        ps.setDouble(1,Double.parseDouble(str[1]));
        ps.setDouble(2, Double.parseDouble(str[0]));          
        ps.executeUpdate();

        ps.close();
        System.out.println("1 rows updated.");
    } catch (SQLException ex) {
        Logger.getLogger(Jdbc.class.getName()).log(Level.SEVERE, null, ex);
    }
}
举例来说,传入的数组包含距离和价格的值,我想根据距离更新“旅程”表中的价格。例如,如果表中的一条记录的距离类型为double,它小于给定距离str[0]的值,那么我想将该记录的价格也增加一倍,增加值“str[1]”,并对表中的所有记录执行此操作


上面的代码没有给出任何错误,但是,数据库中的记录永远不会更新。我真的需要一些帮助,因为我已经四处搜索了一段时间,试图找到一个解决方案,但尚未成功。

我不知道您正在使用什么数据库,但我猜这一行:

ps = connection.prepareStatement("Update Journey Set price+=? where distance <?",PreparedStatement.RETURN_GENERATED_KEYS);

可能会让您在将来浪费数小时的调试时间,因为实际上可以更新0行或更多行。

愚蠢的问题,但您执行connection.commit-对吗?@毫无价值是的,我已经实现了,但仍然没有更改。那么,ps.executeUpdate的输出是什么?它应该告诉您有多少行受到影响。@毫无价值的问题是它不喜欢语法+,这将导致异常,请发布异常堆栈跟踪。
ps = connection.prepareStatement("Update Journey Set price=price+? where distance <?",PreparedStatement.RETURN_GENERATED_KEYS);
System.out.println("1 rows updated.");