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);
6条答案
按热度按时间r3i60tvu1#
在使用sqlite和直接从命令行执行sql insert命令时,我发现双引号本身会转义。以你为榜样
lyfkaqu12#
要将值插入到数据库中,您应该始终使用SQLiteStatement(HowTo),因为它们会转义您的值,并防止您的应用成为SQL-Injections的目标。
此外,如果你插入多个值(比如在一个循环中),执行一个带有不同绑定值的预编译语句比普通的insert语句快得多。
khbbv19g3#
尝试类似的东西:
qfe3c7zg4#
使用此功能插入带有任何特殊字符的数据
yebdmbv45#
试试这个:
cs7cruho6#
您应该使用
''
将值括起来,然后在''
之间,您可以使用双引号而不转义,如下所示,因此'1-Preludi“Obrint Pas 2011”'的计算结果为1-Preludi "Obrint Pas 2011"
。* 我的回答解释得更多:此外,您不能使用双引号将值括起来,如下所示,因为存在错误: