将字符串与android sqllite中的值进行比较

时间:2017-03-10 06:41:34

标签: android sqlite

我试图将字符串与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声明吗?

3 个答案:

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