안드로이드 스튜디오 execSQL 관련
조회수 795회
안드로이드 스튜디오 sqlite로 데이터 저장 어플을 만들고 있는데 입력이랑 수정버튼만 누르면 어플이 종료되는 바람에 여기에 질문 올렸더니 로그확인해보라고 하시더군요.
그래서 로그 확인해서 입력버튼은 해결했는데 수정버튼은 아직 해결하지 못했습니다ㅜㅜ
btnUpdate.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
db = dbHelper.getWritableDatabase();
if (edtName.getText().toString() != "") {
db.execSQL("UPDATE groupTBL SET gNumber = '"
+ edtNumber.getText() + "', WHERE gName = '"
+ edtName.getText().toString() +
"' WHERE gSerName = '"
+ edtSerName.getText().toString() +"';");
}
db.close();
Toast.makeText(getApplicationContext(), "수정됨",
Toast.LENGTH_SHORT).show();
btnSelect.callOnClick();
}
});
이 부분에서 android.database.sqlite.SQLiteException: near "WHERE": syntax error (code 1): , while compiling: UPDATE groupTBL SET gNumber = 'wg160705!', WHERE gName = 'id5656' WHERE gSerName = '네이버';
이렇게 로그(?)가 뜨는데 어떻게 해결해야 할까요..? 처음 디비 다뤄봐서 많이 부족합니다ㅠㅠ
1 답변
-
"' WHERE gSerName = '"
부분을"' AND WHERE gSerName = '"
으로 바꿔보면 될거같은데요?SQLite where AND 연산자에 대해 알아보세요.
댓글 입력