我试图将字符串与SQLite数据库中的食物名称进行比较,但我认为查询有一些错误。
public Cursor selectfood(String food_pick){
SQLiteDatabase db = this.getWritableDatabase();
Cursor res = db.rawQuery("SELECT food,calorie FROM foodDatabase WHERE food = "+food_pick,null);
return res;
}
抛出以下异常:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.nlss.custom_diet, PID: 1990
android.database.sqlite.SQLiteException: near "khichdi": syntax error (code 1): ,
while compiling: SELECT food,calorie FROM foodDatabase WHERE food = Dal khichdi ,1 cup
还有其他选择来写这个SELECT
声明吗?
答案 0 :(得分:2)
Cursor res = db.rawQuery("SELECT food,calorie FROM foodDatabase WHERE food = '"+food_pick+ "'",null);
尝试使用这个,你没有添加我认为的单引号
答案 1 :(得分:1)
使用以下查询:
Cursor res = db.rawQuery("SELECT food,calorie FROM foodDatabase WHERE food = '"+food_pick + "'",null);
答案 2 :(得分:0)
您的查询缺少选择参数字符串值的''。
Cursor res = db.rawQuery("SELECT food,calorie FROM foodDatabase WHERE food ='"+ food_pick + "'",null);