Comment puis-je supprimer des enregistrements de 5 à 10?
J'ai utilisé le code ci-dessous, mais tous les enregistrements sont supprimés à la place. P>
SQLiteDatabase db = dbHandler.getWritableDatabase(); for (int i = 5; i <= 10; i++) { db.delete(DbHandler.TABLE_USERS, i+"", null); } db.close();
3 Réponses :
Vous devez passer la whareeclause et Wharergs
supposant que le numéro de ligne est stocké sur la colonne _id code>. Si vous avez un nom de colonne différent, remplacez simplement la colonne appropriée.
SQLiteDatabase db = dbHandler.getWritableDatabase();
db.delete(DbHandler.TABLE_USERS, "_id >= ? AND _id <= ?", new String[] {"5", "10"});
db.close();
Merci pour votre réponse dans le même temps que j'ai eu une autre réponse
Qu'est-ce que votre boucle fait vraiment est la suivante: qui est équivalente dire pour le premier: p> ceci Où '5' code> est interprété par
lorsque vrai code>, il supprime toutes les lignes et toutes les autres itérations font de même, mais il n'y a pas de lignes à Supprimer.
Si vous souhaitez supprimer des lignes avec une valeur de colonne de 5 jusqu'à 10, faites-le sans boucle: P> db.delete(DbHandler.TABLE_USERS, columnname between ? and ?, new String[]{"5", "10"});
Merci pour votre réponse dans le même temps que j'ai eu une autre réponse
Dans quel champ cette valeur
i code> est stocké?