我必须构建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;
答案 0 :(得分:7)
SQL中的字符串文字值必须位于'single quotes'
。
但是,最好将?
占位符用于文字并绑定值,例如
Cursor c = db.rawQuery("SELECT * FROM " + DataBaseHelper.TABLE_COM + " WHERE "
+ DataBaseHelper.COLUMN_USER_ID + " = ?", new String[] { value });