在 SQLite 中使用包含特殊字符的列名创建表#
。
不知道如何逃避这个以便 SQLite 识别它。
我发现转义码#
是%23
. 所以我试着这样做:
condition = condition.replace("usernum#", "usernum%23");
其中 condition 是字符串类型的 SQLite 条件,例如,select * from users where id = '2' ORDER BY usernum#
但是上面的方法是给 SQLite 异常。
日志:
04-12 20:00:44.395: E/AndroidRuntime(8054): android.database.sqlite.SQLiteException: no such column: usernum (code 1): , while compiling: select * from Users WHERE id !=1 order by Type DESC, usernum%23 ASC
错误在这一行:
Cursor curr = db.rawQuery("select " + fields + " from " + table + " "+ condition, null);