Android 将id int传递到查询中

Android 将id int传递到查询中,android,sqlite,Android,Sqlite,我有一个查询,其中我通过参数传递groupID,但查询不识别编号(组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 '"

我有一个查询,其中我通过参数传递
groupID
,但查询不识别编号
(组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;
}
  • 您应该使用
    SQLiteDatabase
    作为可写模式
    getwriteabledatabase()
  • 您应使用以下方法更新数据:

    更新(字符串表、ContentValues值、字符串whereClause、字符串[]WhereRGS)

  • 试试这个:

    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)});
    }
    

    你不是这样做的。使用准备好的Statements@juergend这是一个未经准备的原始声明,我不认为这是一个很好的方法,但要澄清情况:)那么?原始查询支持准备好的语句。是的,你是对的,我完全错过了!你能在下面举个例子吗?我忘了更改getReadableDatabase。非常感谢你