java - 插入负数 - ORA-01722

标签 java string oracle-sqldeveloper jdbctemplate

我正在使用 jdbcTemplate 将一些数据插入到 Oracle 数据库中。不幸的是我收到了这个错误:

java.sql.SQLSyntaxErrorException: ORA-01722: invalid Number

首先,我将字符串转换为 double :

Number number = nmFormat.parse(record[8]);
double doubleVLBalance = number.doubleValue();

之后:

 String sqlSettlementBalance = "INSERT INTO STARR4.TBSETR_SETTLEMENT_BALANCE"+
                "(DT_MOVEMENT,NU_CUSTOMER_REF, NU_MOD_CUSTOMER_REF,"+
                "NU_HIERARCHICAL_NODE, CD_ACQUIRER, CD_PRODUCT,"+
                "CD_BALANCE_TYPE, NU_CUSTOMER, VL_BALANCE, NU_CONTROL)"+
                "VALUES ('" ...,'"+doubleVLBalance+"','"+sb.getNuControl()+"')";

jdbcTemplate.update(sqlSettlementBalance);

字符串record[8]的值为“-0.34”。有什么建议可以解决这个问题吗?

最佳答案

如果用引号将数字括起来,它就会变成字符串。删除引号。

 String sqlSettlementBalance = "INSERT INTO STARR4.TBSETR_SETTLEMENT_BALANCE"+
            "(DT_MOVEMENT,NU_CUSTOMER_REF, NU_MOD_CUSTOMER_REF,"+
            "NU_HIERARCHICAL_NODE, CD_ACQUIRER, CD_PRODUCT,"+
            "CD_BALANCE_TYPE, NU_CUSTOMER, VL_BALANCE, NU_CONTROL)"+
            "VALUES ('" ...,"+doubleVLBalance+",'"+sb.getNuControl()+"')";

关于java - 插入负数 - ORA-01722,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44810640/

相关文章:

oracle - 在Oracle中查找存储过程的依赖元素

database - ORA-12505, TNS :listener does not currently know of SID given in connect des

java - 遍历 ArrayLists 的问题

java - 我收到 "java.lang.ClassNotFoundException: com.google.gson.Gson"错误,即使它是在我的类路径中定义的

java - 如何在注销后启动应用程序而不会被杀死?

javascript - 如何组合数组中相同的字符串?

python - 为什么反斜杠出现两次?

sql - 如何调用 pl/sql 存储过程(函数,返回数值)?

java - Hibernate 中@MappedSuperclass 对继承映射有什么好处?

c - 是否存在将文本文件转换为字符串文字作为构建步骤的任何内容?