Android更新声明

时间:2016-01-28 21:42:46

标签: android sqlite

我使用一个接收参数的简单函数(String和int)。该表包含两行,一行是名称,第二行是值。我想更新与传入的字符串匹配的行与新值(当前值 - 传入的int)。

我现在所拥有的是在下面,当我跑步时,我没有错误,但结果没有改变。我只是想知道是否

查询

public boolean deductIngredient(String ingredient, int measurement)
{
    db.rawQuery("update kitchen set measurement = measurement - "+measurement+" where kitchen.ingredient_name = " + "'"+ingredient+"'", null);
    return true;
}

1 个答案:

答案 0 :(得分:0)

对于除SELECT以外的任何数据库操作,您需要使用execSQL(),而不是rawQuery(),因此以下内容适用:

public boolean deductIngredient(String ingredient, int measurement) {
    db.execSQL( "update kitchen set measurement = measurement - ? where kitchen.ingredient_name = ?", new Object[] { Integer.valueOf( measurement ), ingredient } );
    return true;
}