2017-10-14 64 views
2

我從文件中提取數據並將其插入sqlite數據庫。轉義代碼中的特殊字符一個字符串

一切正常,直到數據有特殊字符。

例如當我嘗試插入一個鏈接失敗因爲「//」

或者......當我嘗試安裝「我會」失敗的「'」

(目前我我使用REPLACE功能作爲解決方法 - 但這有其自身的問題)

請告訴我如何逃脫這些角色?

謝謝

回答

1

我建議使用接受PARAMS參數的SQL查詢的版本和使用,因爲它不需要逃跑。如果您使用單引號'來封裝您的數據,則不需要轉義大多數字符。

+0

我不確定我遵循 - 這是我的代碼 db = Display.getInstance()。openOrCreate(「myDb.db」); String sqlStringRaw =「insert into myTable(col1,col2)values('」+ col1Val +「','」+ col2Val +「')」; db2execute(sqlStringRaw); 正如你所看到的,我正在使用一個參數化的字符串,並且我將所有東西都用引號括起來。 調試輸出: sqlStringRaw =(java.lang.String中) 「插入到mytable的(COL1,COL2)VALUES( '2b8575df5', '我的API的')」 以下是錯誤 ... [接近「S 「:語法錯誤:] –

+1

Try'String sqlStringRaw =」insert into myTable(col1,col2)values(?,?)「; '然後'db.execute(sqlStringRaw,new String [] {col1Val,col2Val}); ' –