02-22 16:59:42.470: E/AndroidRuntime(28817): android.database.sqlite.SQLiteException: unrecognized token: "' WHERE _id = 10": , while compiling: UPDATE sangpumDB SET sangpumname = '과자', price = 1000, ' WHERE _id = 10
소스
String query = "UPDATE sangpumDB SET" + " sangpumname = '" + sangpumname
+ "', " + " price = " + price + ", " + "' " + " WHERE _id = " + _id + " ";
1번2번 째 줄처럼 에러메시지가 납니당...
저에러메시지에 해당되는 소스는 위에있습니당...
제가 뭘 간과한것일까요........
지금 3시간째..입니다..ㅜ.ㅜ
아참..내정신좀봐 ㅠ.ㅠ
업데이트버튼눌렀을떄나오는 에러메시지입니다 ㅜ
삭제버튼눌러도 저런식으로 나오는데 삭제버튼클릭시 에러가 나면서 강제종료가 되긴하지만
어플을 다시켜보면 해당 열을 삭제가 되어있네요 허허..
문자열을 넣실때는 문자열 앞 뒤로 '를 넣어 주셔야 합니다.
님께서 작성한 쿼리문에서 sangpunname 컬럼이 문자열을 받을 것 같은데 그렇다면
String query = "UPDATE sangpumDB SET" + " sangpumname = " + sangpumname
+ " price = " + price + " WHERE _id = " + _id ;
이게 아니라
String query = "UPDATE sangpumDB SET" + " sangpumname = '" + sangpumname
+ "' price = " + price + " WHERE _id = " + _id ;
이렇게 sangpumname 앞뒤로 '를 넣어 주어야 하겠죠
price는 자료형이 text인가요? 프라이스의 근처에서 syntax에러가 난다고 하는거 보면 price 는 number형으로 선언해주시지 안았나 생각 되는데요............




실제 쿼리문을 보세요. 제 예상으로는 set 문에서 " price=" +price+","+'" " 이부분이 문제인것 같네요.
set문과 where문 사이에 , ' 이런 문자가 들어가니 당연히 에러가 나겠죠.
쿼리 예) update sangpumDB set sangpumname='android', price=100 where _id=10; 이렇게 되야 겠죠.
,는 set에서 컬럼 구분용 입니다.