簡體   English   中英

如何在SQLite Database Varchar字段中插入雙引號(“)?

[英]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""", ...

要將值插入數據庫,您應始終使用SQLiteStatementHowTo ),因為它們會轉義您的值並阻止您的應用程序被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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM