2013-07-11 2 views
0

열의 값을 어느 정도 줄이려고합니다. 즉, 열은 double 유형이며 "총"양으로 줄이고 싶습니다. 초기 값이 100 인 경우 이제는 전체 값이 100이어야합니다. 가변 금액을 줄이는 방법은 무엇입니까?

reason: actual argument double cannot be converted to String by method invocation conversion 

그래서 내가 어떻게이 쿼리를 작성할 수 있습니다 :이 구문 오류가 말하는 제공

PreparedStatement checkDB1 = (PreparedStatement) con.prepareStatement("update accounts set balance=balance-? where iban=?"); 
checkDB1.setString(1, total); 

: 여기 내 코드는? 감사합니다

+0

으로 제거 된 오류 메시지로 표시된 바와 같이 올바르지 않습니다 PreparedStatement 매개 변수를 설정하는 데 사용되는 (데이터베이스 트랜잭션과 serializability 등))) – akaIDIOT

답변

2

유일한 오류 유형이 있습니다

PreparedStatement checkDB1 = 
     con.prepareStatement("update accounts set balance=balance - ? where iban=?"); 
checkDB1.setDouble(1, total); 
      ^^^ 

공지 사항 또한 PreparedStatement 캐스트가 필요

+0

또한 테이블의 열의 실제 데이터 유형을 염두에두고,'setXXX (를 사용하여 값을 설정하기 전에)'메소드! – NINCOMPOOP

+0

감사합니다. 나는이 솔루션을 생각했지만 균형을 먼저 읽을 필요가없는 쉬운 방법이 있는지 궁금했습니다. – yrazlik

+0

'balance = balance-? '의 문제점은 무엇입니까? – MatBailie

관련 문제