将id int传递给查询

时间:2017-04-06 09:59:58

标签: android sqlite

我有一个查询,我通过groupID参数传递,但查询无法识别数字(group id)。所有值都到达查询(我已调试)。这是我的查询,你能看看结构是否合适?

public Cursor updateGrupo(String nomegrupo,int idgroup){
SQLiteDatabase db = this.getReadableDatabase();
//Does not put the ID in the "idgroup"
Cursor c = db.rawQuery("UPDATE  '"+tableGrupo+"' SET '"+nomeGrupo+"' = '"+nomegrupo+"' WHERE '"+idGrupo+"' = '"+idgroup+"'", new String[]{});
return c;
}

1 个答案:

答案 0 :(得分:1)

  1. 您应该将SQLiteDatabase用作可写模式getWritableDatabase()
  2. 您应该使用以下方法更新数据:

    update(String table,ContentValues values,String whereClause,String [] whereArgs)

  3. 试试这个:

    public void updateGrupo(String nomegrupo,int idgroup) {
        SQLiteDatabase db = this.getWritableDatabase();
    
        ContentValues values = new ContentValues(); 
        values.put(nomeGrupo, nomegrupo);
    
        db.update(tableGrupo, values, idGrupo + " = ? " , new String[]{String.valueOf(idgroup)});
    }