gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 10:30:32 25 4
gpt4 key购买 nike

我在弄清楚将更新我的一个表中的列中的值的查询时遇到了一些麻烦。以下是我的功能:

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] 的值),我想将该记录的价格(也是 double 类型)增加该值'str[1]'并对表中的所有记录执行此操作。

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

最佳答案

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

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

应该这样写:

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

与你的问题无关,而是与行相关

System.out.println("1 rows updated.");

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

关于Java如何增加数据库表中 double 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53641446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com