首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >插入负数- ORA-01722

插入负数- ORA-01722
EN

Stack Overflow用户
提问于 2017-06-28 19:06:07
回答 2查看 838关注 0票数 2

我使用jdbcTemplate将一些数据插入到DataBase Oracle中。不幸的是,我得到了这个错误:

代码语言:javascript
复制
java.sql.SQLSyntaxErrorException: ORA-01722: invalid Number

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

代码语言:javascript
复制
Number number = nmFormat.parse(record[8]);
double doubleVLBalance = number.doubleValue();

及之后:

代码语言:javascript
复制
 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);

字符串record8的值为"-0.34“。有什么解决这个问题的建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-28 19:08:59

如果你用引号环绕一个数字,它就变成了一个字符串。删除引号。

代码语言:javascript
复制
 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()+"')";
票数 3
EN

Stack Overflow用户

发布于 2017-06-28 19:21:13

正如前面提到的,你应该删除引号,但我建议不要

代码语言:javascript
复制
jdbcTemplate.update(sqlSettlementBalance);

使用

代码语言:javascript
复制
jdbcTemplate.update(sqlSettlementBalance, Object... args);

例如,如下所示:

代码语言:javascript
复制
 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 ('"...,?,'"+sb.getNuControl()+"')";

jdbcTemplate.update(sqlSettlementBalance, doubleVLBalance);

使用PreparedStatement参见示例this

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44810640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档