오류 보고: No value specified for parameter 3의 해결 방법

No value specified for parameter 3
JDBC로 데이터베이스에 연결하여 상응하는 조작을 할 때 다음과 같은 오류를 보고하고 원인을 찾았는데 몇 가지 문제가 있어서 당신들의 문제를 해결할 수 있기를 바랍니다
  • sql문장의 자리 차지 문자와 뒤에 설정된 자리 차지 문자의 값이 일치하지 않습니다
  • PreparedStatement pst=gxmconn.prepareStatement("insert into messages(myId,friendId,friendName,message) values(?,?,?,?,?)");//  
       		pst.setInt(1, myId);
       		pst.setInt(2, friendId);
       		pst.setString(3, friendName);
       		pst.setString(4, message);
    

    다른 곳은 틀리지 않았는데, 자리 차지 문자의 수가 한 명 더 적혀 있었다.자리 차지 문자가 많거나 적으면 이런 문제가 생길 수 있다.
  • sql문장의 자리 차지 문자가 값을 부여할 때 번호가 중복
  •  PreparedStatement pst=gxmconn.prepareStatement("insert into messages(myId,friendId,friendName,message) values(?,?,?,?)");
       		pst.setInt(1, myId);
       		pst.setInt(2, friendId);
       		pst.setString(2, friendName);//      
       		pst.setString(4, message);
    

    설정한 번호가 중복되었는데 사실 이런 문제가 발생하지 않는다. 그러나 나는 비슷한 문장이 있으면 복사하고 붙이는 것을 좋아하지만 항상 번호를 바꾸는 것을 잊어버리고 검사도 하지 못했다.
    도움이 됐으면 좋겠습니다.

    좋은 웹페이지 즐겨찾기