SQLiteException没有这样的列

时间:2011-08-05 10:25:52

标签: android sqlite

我正在写这样的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的行。我做错了什么?

2 个答案:

答案 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);