android - 在android中使用sqlite插入字符串,其中包含单引号和双引号

标签 android sqlite

我在使用 sqlite 在 android 应用程序中插入字符串时遇到问题,
我试过了,

query  = "INSERT OR REPLACE into table(_id, text) VALUES ("+data.get(i).id+", '"+data.get(i).text+"')";
MyClass.db.execSQL(query);

如果我的字符串看起来像,

'I'm an android developer'

应用程序在这里崩溃,这是 logcat 结果,

Caused by: android.database.sqlite.SQLiteException: near "m": syntax error: , while compiling: INSERT OR REPLACE into table (_id, text) VALUES (4, '"I'm an android developer"' )

我认为它假定我的查询到此结束

'"I'

请帮我插入任何大小写的字符串,它包含单引号或双引号,例如

"I'm an "android" developer"

最佳答案

无需任何硬编码或任何您可以使用 ContentValues 直接插入的内容,如下所示。

ContentValues values = new ContentValues();
long retvalue = 0;
values.put("_id", id_here);
values.put("text", your_text_here);
retvalue = MyClass.db.insertWithOnConflict(table, null, values, CONFLICT_REPLACE);

关于android - 在android中使用sqlite插入字符串,其中包含单引号和双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20608543/

相关文章:

android - 是否有针对 Android 设备的设备特定错误的汇编?

android - 从 sdk 23 降级到 22 android

ios - 如何从网站表单更新iOS SQLite数据库?

android - 在 Android 上搜索巨大的 sqlite 数据库

SQL——删除重复对

android - editText 处于焦点,但虚拟键盘不会在 Alert Builder 中使用 SHOW IMPLICIT 自动打开

android - Android 中的线程阻塞 UI

vim 中的 android 远程 python 脚本

sql - 当有重音字符时如何 SQL 比较列?

c# - System.Data.Sqlite 中的事务处理