0

我能够使用可调用语句将值设置为这样的两倍

this.setValue(new Double(cstmt.getDouble(4)));

但是当我尝试像这样写回来时

cstmt.setDouble(4, this.getValue());

我得到错误..

compile:
     [exec] com\jack\common\javabean\ExampleBean.java:262: cannot resolve symbol
     [exec] symbol  : method setDouble (int,java.lang.Double)
     [exec] location: interface java.sql.CallableStatement
     [exec]                     cstmt.setDouble(7,this.getValue());
     [exec]                              ^

任何建议可以用这个做什么

4

2 回答 2

4

假设this.getValue()返回 a Double,看起来您需要使用this.getValue().doubleValue()来匹配方法签名。它需要一个double原语,而不是一个Double对象。

我猜您使用的是 Java 1.4 或更早版本。在 1.5 中,这个错误应该已经被自动装箱隐藏了。

于 2011-05-19T20:56:33.700 回答
0

显然,cstmt 是一个实例的类没有称为 setDouble (int, java.lang.Double) 的(可见)成员函数。是否有可能它应该是 setDouble (int, double) 并且您正在传递一个 java.lang.Double 的实例并且例程需要一个 double 类型的原语?

于 2011-05-19T20:55:55.820 回答