자바 update 할때 배열 문제 입니다.
들찬길
자바에서 update 할때 질문입니다.
String sql =
UPDATE SURVEY_ITEM_ETC SET ITEM_COUNT = ITEM_COUNT+1 WHERE SURVEY_IDX=? AQUE_NUM=?
AND ANSWER_NUM=+tmpAns[i];
이런식으로 하면 에러가 안나고 데이터가 잘 들어가는데....
String sql =
UPDATE SURVEY_ITEM_ETC SET ITEM_COUNT = ITEM_COUNT+1 WHERE SURVEY_IDX=? +
AND QUE_NUM=? AND ANSWER_NUM=?;
pstmt.setInt(1,num);
pstmt.setInt(2,j);
pstmt.setInt(3,Integer.parseInt(tmpAns[i]));
이렇게 하면 For input string: 1 이런식으로 해서 배열 에러가 뜹니다....
오랜만에 자바를 하려니 많이 부족합니다...
-
돋되다
체크 박스라고 하면...
체크 박스의 value 설정 시 값에 공백을 함께 넣어 주신것 같네요.
db에서 읽어 온 값을 넣는경우라면 관련 로직 처리 중 어딘가에서 공백을 삽입하고 있을 것입니다.
(대부분 코딩 미스겠죠)
임시 방편으로는 수다님 답변처럼 전달 받은 값을 trim()하시면 됩니다만...
저 공백이 생긴 원인을 찾아서 해결 하시는게 다른 문제를 사전에 막을 수 있으리라 봅니다.
원래 의도적으로 들어간 공백이라면 상관 없겠지만...
db등에서 -
풀큰
버섯수다님 원래 저기가 체크박스의 체크값으로 가져오는 부분이라서여... 1 , 2 , 3 이 들어오게 되어있어여..어떻게 해야 제대로 가져올까여?
-
사과
즉, \1\ 다음에 공백(\ \)이 들어갔기때문에 에러가 나는 것입니다.
배열에 값을 넣으실때 공백을 제거하고 넣으시거나..
값을 이용 할 때 공백을 제거 하시기 바랍니다.
굳이 숫자만 받을거라면 차라리 int 배열로 받으시는게 좋을 듯 싶네요. -
겨루
ㅎㅎㅎ...
간만에 JDBC를 하다보니 .setInt가 0부터 시작하는건가...라고 생각해서
후루루룩 검색해보니-_-;;;
1부터 시작하는게 맞군요...
크.. 요즘은 DB를 이용 할 일이 거의 없어서리 이넘의 3초 기억...
간만히 질문을 보니 For input string: 오류군요.
그렇다면 거의 십중팔구 숫자변환 부분에서 오류가 발생했을텐데..
어라... 숫자 1 정상으로 출력되는데 왜 에러가 나지..
.setInt대신에 .setString를