我正在写这样的SQL查询:
Cursor data = db.query(WhereWolfOpenHelper.FRIEND_TABLE_NAME, null, WhereWolfOpenHelper.FRIEND_GROUP_COLUMN+"="+params[0], null, null, null, null);
它产生了以下错误:
ERROR/AndroidRuntime(620): Caused by: android.database.sqlite.SQLiteException: no such column: Friends: , while compiling: SELECT * FROM ww_friend WHERE friend_group=Friends
没有名为Friends的列,我想检索friend_group列具有值Friends的行。我做错了什么?
答案 0 :(得分:0)
你需要用引号括起朋友价值:
Cursor data = db.query(WhereWolfOpenHelper.FRIEND_TABLE_NAME, null, WhereWolfOpenHelper.FRIEND_GROUP_COLUMN+"='"+params[0]+"'", null, null, null, null);
PS:当你这样做以避免SQL注入时,一定要从param [0]中逃避危险的字符
答案 1 :(得分:0)
我猜测“朋友”是一个值,因此您必须将其括在引号内。
试试这个:
Cursor data = db.query(WhereWolfOpenHelper.FRIEND_TABLE_NAME, null, WhereWolfOpenHelper.FRIEND_GROUP_COLUMN+"=\""+params[0]+"\"", null, null, null, null);