Java 如何减少某个可变数量的列?

Java 如何减少某个可变数量的列?,java,sql,database,jsf,jakarta-ee,Java,Sql,Database,Jsf,Jakarta Ee,我正在尝试将列的值减少一定量。换句话说,该列的类型为double,我想将其减少“total”数量。如果初始值是100,现在它必须是100总计。这是我的密码: PreparedStatement checkDB1 = (PreparedStatement) con.prepareStatement("update accounts set balance=balance-? where iban=?"); checkDB1.setString(1, total); 这会产生一个语法错误,说明:

我正在尝试将列的值减少一定量。换句话说,该列的类型为double,我想将其减少“total”数量。如果初始值是100,现在它必须是100总计。这是我的密码:

PreparedStatement checkDB1 = (PreparedStatement) con.prepareStatement("update accounts set balance=balance-? where iban=?");
checkDB1.setString(1, total);
这会产生一个语法错误,说明:

 reason: actual argument double cannot be converted to String by method invocation conversion

那么我如何编写这个查询呢?感谢

唯一的错误是用于设置
PreparedStatement
参数的类型不正确,如错误消息所示

PreparedStatement checkDB1 = 
       con.prepareStatement("update accounts set balance=balance - ? where iban=?");
checkDB1.setDouble(1, total);
            ^^^

请注意,在使用
setXXX()
方法设置值之前,
PreparedStatement
cast已被删除为不必要的

,请注意表中列的实际数据类型!谢谢,我也想到了这个解决方案,但不知道是否有更简单的方法不需要阅读余额first@MatBailie请注意,除了用于参数的类型之外,这是并发数据库应用程序中可能出错的教科书示例:)(关键字事务和可序列化性等;))