包含特殊字符的SQLite查询

时间:2015-01-15 08:56:03

标签: android sqlite

我必须构建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;

1 个答案:

答案 0 :(得分:7)

SQL中的字符串文字值必须位于'single quotes'

但是,最好将?占位符用于文字并绑定值,例如

Cursor c = db.rawQuery("SELECT * FROM " + DataBaseHelper.TABLE_COM + " WHERE "
            + DataBaseHelper.COLUMN_USER_ID + " = ?", new String[] { value });