2011-09-21 3 views
0

EditText에 " '"char가 포함되어있을 때 나는 SQLiteException을 가지고 있습니다. 숯을 피할 필요가 있습니까? 그렇다면 어떻게해야할까요?'char'때문에 SQLiteException이 발생합니다. 어떻게 이스케이프 처리합니까?

public Cursor getAll() { 
     return(getReadableDatabase() 
       .rawQuery("SELECT _id, " + 
         COLUMN_NAME_ONE + ", " + 
         COLUMN_NAME_TWO + ", " + 
         COLUMN_NAME_THREE + ", " + 
         COLUMN_NAME_FOUR + " FROM " + TABLE_NAME, null)); 
+0

매개 변수를 사용해야합니다. – SLaks

+0

어떤 매개 변수가 있습니까? – Eugene

+0

EditText를 매개 변수로 쿼리에 전달해야합니다. 자세한 내용은 설명서를 참조하십시오. – SLaks

답변

2

사용 android.database.DatabaseUtils.sqlEscapeString(sql_string);

0

문자열 앞에 \를 추가하여 이스케이프 처리합니다.

replaceAll (char oldChar, char newChar)을 사용하여 'by \'를 대체하고 이스케이프 처리 할 수 ​​있습니다.

+0

'char'앞에 기존 문자열에 \를 추가하는 방법은 무엇입니까? – Eugene

+0

구체적인 상황을 보여줄 수 있습니까? "문자 앞에 \ 이스케이프 문자를 추가 할 때 문제가 보이지 않습니까? –

+0

설명을 업데이트했습니다. – Eugene

관련 문제