2012-01-27 2 views
0

netbeans 6.9에서 struts 1.3.8 프레임 워크를 사용하고 preparedStatement을 사용하여 데이터베이스의 값을 업데이트하려고합니다. 그것은 mew에 (매개 변수 3에 대해 지정된 값이 없음) 오류를 제공하고 그 매개 변수가 무엇인지 모르기 때문에 id를 정의하여 값을 설정합니다. 나는 당신의 노력에 감사 드리며 당신이 저를 도와 주길 바랍니다. 테이블 업데이트 중 오류 [매개 변수 3에 값이 지정되지 않았습니다.]

내 코드입니다 :

try{ 
    // update the item Qyt in the item table after checking it out 
    PreparedStatement ps2 = (PreparedStatement) con.prepareStatement("UPDATE item SET itemQyt=? WHERE itemID=?" 
      + " VALUES (?,?)"); 
    ps2.setInt(1, newQuantity); 
    ps2.setInt(2, itemID); 
    int updateRows = ps2.executeUpdate(); 
    ps2.close(); 

} catch (Exception e) { 
    errors.add("SQLUpdatingItem", new ActionMessage("errors.SQLUpdatingItem")); 
    System.out.println("ERROR Updating : Did not Update the itemQyt in the item table which the itemId is : " + itemID + " and the new Qyt is :" + newQuantity + " " + e); 
} 

이 오류 MSG입니다 :

오류 업데이트 : 항목 ID를 항목 테이블의 itemQyt를 업데이트하지 않았습니다됩니다 : 7과 새 Qyt는 다음과 같습니다. 9 java.sql.SQLException : No 매개 변수 3에 값이 지정되었습니다.

답변

0

값 부분을 버리십시오. UPDATE 문에는 값 부분이 없습니다.

"UPDATE item SET itemQyt=? WHERE itemID=?" 

(값은 INSERT 문의 일부입니다.)

+0

감사하고 작동이 ^^ 가지고 \ O/ 는 너무 –

+0

@JodiAbot을 감사합니다 [받아 들일 수 있습니다] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) 다른 사람들이 솔루션을 찾도록 도와 줄 올바른 답 –

1

전달할 문자열 prepareStatement에는 4 개의 자리 표시 자 (?)가 포함되어 있지만 그 중 2 개의 값만 제공합니다 (setInt).

+0

내가 은 내가 한 –