[英]How can i insert double quote ( " ) into SQLite Database Varchar field?
我正在嘗試插入帶有此字段的表TITLE varchar(200) NOT NULL
下一句:
INSERT OR IGNORE INTO EXAMPLETABLE VALUES ("1-Preludi \"Obrint Pas 2011\"", ...
問題是SQLite錯誤地理解了“逃避問題,我不知道如何在我的Android程序中解決問題(也許是字符代碼?)”。
只是從命令行使用sqlite和直接sql insert命令,我發現雙引號會自行轉義。 用你的例子
INSERT OR IGNORE INTO EXAMPLETABLE VALUES ("1-Preludi ""Obrint Pas 2011""", ...
要將值插入數據庫,您應始終使用SQLiteStatement ( HowTo ),因為它們會轉義您的值並阻止您的應用程序被SQL注入作為目標。
此外,如果要插入多個值(例如在循環中),則執行具有不同邊界值的預編譯語句比正常插入語句快得多。
嘗試類似的東西:
ContentValues values = new ContentValues();
values.put("YOURCOLUMNNAME", "1-Preludi \"Obrint Pas 2011\"");
// ... other stuff you want to insert ...
SQLiteDatabase db = ... ; // Usually obtained using a SQLiteOpenHelper
long id = db.insertWithOnConflict("EXAMPLETABLE", BaseColumns._ID, values, SQLiteDatabase.CONFLICT_IGNORE);
使用此選項可以使用任何特殊字符插入數據
ContentValues initialValues = new ContentValues();
initialValues.put("Id", id);
initialValues.put("Name", Name);
// ...
myDataBase.insert("EXAMPLETABLE", null, initialValues);
嘗試這個:
INSERT OR IGNORE INTO EXAMPLETABLE VALUES ('1-Preludi "Obrint Pas 2011"', ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.