마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

테이블에 있는 컬럼값에 +1씩 시키려고 하는데 오류가 납니다.

0 추천
String countO = currentCursor.getString(2);
countO += 1;
DBAdapter.modifyDataO(currentCursor.getPosition(), countO);

DB에서 한 컬럼의 값을 가져온 후 +1 값을 주고, 다시 그 DB에 그 값을 반영하는 기능을 가진 버튼입니다.

 

위 소스와 같이 커서를 이용하여 에트리뷰트의 3번째 컬럼의 값을 가져와 countO 변수에 저장하고

countO의 값을 +1 시킨 후

다시 modifyData라는 메서드에 보내주어서 데이터베이스 값을 변경하려고 합니다.

그런데 차라리 2번라인인 countO += 1; 에서 오류가 나면 String과 Integer 때문에 오류가 나는구나 싶어서 형변환을 하겠는데, 1번째 줄에서 오류가 납니다.

이클립스 상으로는 오류가 나오질 않고 저 3줄중 한줄씩 주석처리 하면서 실행을 해봤는데 첫번째줄에서

오류가 나는것을 확인했습니다.

이유가 뭔지 궁금합니다. 도와주시면 감사하겠습니다.

익명사용자 님이 2013년 12월 6일 질문

2개의 답변

0 추천
String text = "1";

text += 1;

이렇게했을경우 text가 어떤값을 가지게 될지 상상해보세요
건방진프로그래머 (26,630 포인트) 님이 2013년 12월 6일 답변
네. 형변환에 문제가 있다면 해결하겠는데. 1번라인에서 오류가나요..
int countO = Integer.valueOf(currentCursor.getString(2));
                countO += 1;
                DBAdapter.modifyDataO(currentCursor.getPosition(), String.valueOf(countO));

이런식으로 해도 마찬가지입니당..
0 추천

오류나면 에러로그라도 올려주시지..

currentCursor.getString(2) 를 Integer.valueOf() 하시다가 오류나는거면 안에 숫자이외의 단어가 들어있는 컬림데이터가 뽑혀져 나왔나보네요 아님 공백이 있다거나..

bangbang (8,820 포인트) 님이 2013년 12월 6일 답변
...