2011-09-21 64 views
0

當我的EditText包含「'」char我有SQLiteException因爲它。我是否需要避開字符,如果是的話,該怎麼做呢?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