J'ai fait ça et ça ne marche pas. Je reçois force close
.
public boolean favoriteDelete(int id) {
return database.delete("FavoriteData", "Google" + "=" + id, null) > 0;
}
Vous pouvez simplement utiliser la requête SQL pour supprimer.
public void delete(String id) {
db.execSQL("delete from "+TBL_NAME+" where Google='"+id+"'");
}
Dans votre requête, vous passez null à la place de whereArgs
db.delete(table, whereClause, whereArgs)
Ça devrait être comme ça
db.delete(TBL_NAME, "Google=?", new String[]{Integer.toString(id)});
Essaye ça
public boolean favoriteDelete(int id) {
return db.delete(DATABASE_TABLE, KEY_ROWID + "=" + id, null) > 0;
}
database.delete("tablename", "column_name=?", new String[] {Integer.toString(id)});
Il vaut mieux utiliser des espaces réservés que de manipuler des chaînes. Ok pour les int, mais dès que vous mettez une chaîne, les choses vont mal se passer.
String where = COLUMN_NAME_ADDRESS + " = ?";
String[] whereArgs = { String.valueOf(address) };
SQLiteDatabase db = mDbHelper.getWritableDatabase();
db.delete(TABLE_NAME_DEVICES, where, whereArgs);
ajoutez des guillemets simples dans votre clause where ...
return database.delete("FavoriteData", "Goggle" + "='" + id+"'", null) > 0;