-1
votes

Comment supprimer 5 à 10 enregistrements en SQLite dans Android?

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


1 commentaires

Dans quel champ cette valeur i est stocké?


3 Réponses :


1
votes

Vous devez passer la whareeclause et Wharergs xxx


0 commentaires

1
votes

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


1 commentaires

Merci pour votre réponse dans le même temps que j'ai eu une autre réponse



2
votes

Qu'est-ce que votre boucle fait vraiment est la suivante: xxx pré>

qui est équivalente dire pour le premier: p> xxx pré>

ceci Où '5' code> est interprété par sqlite strong> comme 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"}); 


1 commentaires

Merci pour votre réponse dans le même temps que j'ai eu une autre réponse