2017-04-06 10 views
-1

私はgroupIDのパラメータを渡すクエリを持っていますが、クエリは数字(group id)を認識しません。すべての値がクエリに到達しています(デバッグしました)。これは私の質問です。構造が大丈夫かどうか分かりますか?クエリにID intを渡します

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; 
} 
+0

これはあなたのやり方ではありません。 Prepared Statementを使用する –

+0

@juergendそれは準備されていない文ですが、これは良い方法だとは言えませんが、状況をクリアするには – Yazan

+1

だから?未加工のクエリはPrepared Statementsをサポートします。 –

答えて

1
  1. あなたは書き込み可能モードgetWritableDatabase()としてSQLiteDatabaseを使用する必要があります。
  2. あなたは、データを更新するための方法の下に使用する必要があります。

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

    更新(文字列テーブル、ContentValues値、文字列whereClause、String []型whereArgs)

はこれを試してみてください

+0

getReadableDatabaseを変更するのを忘れました。どうもありがとうございました – jose

関連する問題