2011-05-19 2 views
0

Я был в состоянии получить значение, установленное в два раза, как это с помощью отзывной заявленияCallable заявление метод двойной ошибки

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]       ^

любое предположение, что можно сделать с этим

ответ

0

Класс, из которого cstmt является экземпляром, не имеет (видимой) функции-члена, называемой setDouble (int, java.lang.Double). Возможно ли, что он должен быть установленDouble (int, double), и вы передаете экземпляр java.lang.Double, и процедура ожидает примитива типа double?

4

Предполагая, что this.getValue() возвращает Double, похоже, что вам нужно использовать this.getValue().doubleValue() в соответствии с сигнатурой метода. Требуется примитив double, а не объект Double.

Я предполагаю, что вы используете Java 1.4 или ранее. В 1.5 эта ошибка должна быть скрыта автобоксированием.

+0

спасибо, работал отлично отлично .. – jack

Смежные вопросы