【问题标题】:Inserting to Numeric field using prepared statement使用准备好的语句插入数字字段
【发布时间】:2012-12-17 14:58:43
【问题描述】:

我尝试使用准备好的语句向 SQL 服务器数字字段插入一个值:

int temp = 5;
type = java.sql.Types.NUMERIC;                      
System.out.println(temp);
prd.setObject(i+1, temp,type);

但这给了我一个"Arithmetic overflow error converting numeric to data type numeric"

我也尝试将 int 转换为数字或使用 prd.setInt 插入它,但这也不起作用。

在准备好的语句中设置值的正确方法是什么,它将成功插入到 SQL 服务器数字字段中?

【问题讨论】:

  • 试试BigDecimal - 很确定这是正确的课程,但它更像是一个好的猜测而不是一个好的答案。

标签: java sql-server prepared-statement


【解决方案1】:

事实证明,当你将 String 转换为 int 时,由于某种原因,在尝试插入准备好的语句时转换不起作用。

int temp= 2;
type = java.sql.Types.NUMERIC;                      
System.out.println(temp);
prd.setObject(i+1, temp,type);

行得通。

在我的初始代码中,我做了:Integer.parseInt(String_value) 并且由于某种原因破坏了变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 2015-03-02
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多