我必须构建 SQLite 数据库,在其中存储一些具有特殊字符的字符串,对于大多数情况,它都可以找到,除了这个
SELECT * FROM table1 WHERE use_id = 3B:02
它抛出这个错误
android.database.sqlite.SQLiteException: near ":02": syntax error (code 1):
当这个 "3B:02"是可变的时,我该如何处理呢
这是我的问题
selectQuery = "SELECT * FROM " + DataBaseHelper.TABLE_COM + " WHERE "
+ DataBaseHelper.COLUMN_USER_ID + " = " + value;
最佳答案
SQL 中的字符串字面值需要放在'单引号'
中。
但是,最好使用 ?
占位符作为文字并绑定(bind)值,例如
Cursor c = db.rawQuery("SELECT * FROM " + DataBaseHelper.TABLE_COM + " WHERE "
+ DataBaseHelper.COLUMN_USER_ID + " = ?", new String[] { value });
关于android - 包含特殊字符的 SQLite 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27959769/