2011-08-16 98 views
0

我試圖插入一些數據到數據庫中。數據包含單引號。我試圖逃跑,他們像「SCR \'安東」反斜槓在插入數據:如何在android中跳出sqlite中的特殊字符?

INSERT INTO employee VALUES(4,'Jim','Halpert','Assistant Regional Manager','Manage',2,'Scr\'anton','570-222-2121','570-999-1212','[email protected]','halpert.jpg') 

我累了與完全沒有影響使用DatabaseUtils.sqlEscapeString()。什麼是逃避角色的最佳方式?

+0

,如果你會使用http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#insert(java.lang。 String,%20java.lang.String,%20android.content.ContentValues%29比你不會擔心「轉義」 – Selvin

+0

我認爲你需要在SqlLite中使用Escape子句。像這樣.LIKE('Scr''anton' ESCAPE'\') –

+0

在這裏回答:http://stackoverflow.com/questions/1296180/android-quotes-within-an-sql-query-string – stephendnicholas

回答

3

使用雙單引號 'Scr''anton'

+0

謝謝+++。解決了這個問題。 –

1

看看StringEscapeUtils(詳情here),在Apache的百科全書的Lang部分找到。您可以輕鬆下載並將其添加到您的項目中。

+0

似乎有點重只是爲了做一個字符串替換單引號與雙單引號,你可以用一行代碼來完成,也可以導入整個庫。 –