Je suis entrain de faire une application android qui me permet de faire l'acquisition de données dans une base de données SQLite et de les afficher selon un ordre ascendant.
Mon problème c'est que le tri est fait sur ce qui est saisie lors d'une ouverture n de l'application mais à n+1 le tri est compromis. il est serte réalisé mais ce que j'ai en résultat c'est le tri des données saisie à l'ouverture n de l'application puis de n+1.
Je donne un exemple
j'ouvre l'app à la néme fois et je saisis: 5 puis 3 puis 1 puis 7
je fais le tri et j'ai 1-3-5-7
j'ouvre l'app à la n+1 éme fois et je saisis: 4 puis 2 puis 6 puis 8
Avec si peu d'information il est très difficile de t'aider. Est-ce que ce tri est fait en SQL ? Ou est-ce qu'il est fait directement dans le Java/kotlin ?
En fait le code est long et je savais pas quelle partie copier, je pensais que c'était plus un probléme de compréhension ( de ma part du fonctionnement de la base de donné) mais j'ai réussi à résoudre le problème et c'était un problème de syntaxe
je copie le code au cas ou ça intéresserai quelqu'un
ça c'est l'ancien code qui posait probléme
//requéte pour selectionner un curseur
Cursor c =bdd.query(Program_TABLE_NAME, new String[] {Numannee, Numjour, Heure, Minute, NomEvent, Adresse,Photo, Presentation, URL}, Numannee+" = ? AND "+NumSem+" = ? AND "+Numjour+ " > ? AND "+Categorie+ " = ? " , new String[]{String.valueOf(Annee), String.valueOf(Selectedweek), String.valueOf(Yesterday),SelectedCategorie}, null, null,Numannee+" AND "+Numjour+" AND "+Heure+" AND "+Minute+" ASC");
et ça c'est la bonne façon de le faire
Cursor c =bdd.query(Program_TABLE_NAME, new String[] {Numannee, Numjour, Heure, Minute, NomEvent, Adresse,Photo, Presentation, URL}, Numannee+" = ? AND "+NumSem+" = ? AND "+Numjour+ " > ? AND "+Categorie+ " = ? " , new String[]{String.valueOf(Annee), String.valueOf(Selectedweek), String.valueOf(Yesterday),SelectedCategorie}, null, null,Numannee+" ASC, "+Numjour+" ASC, "+Heure+" ASC, "+Minute+" ASC");
et donc la différence c'est dans la derniére partie order by qui au lieu d'étre //column1+" AND "+ column2 + " ASC" doit étre //column1+ " ASC, "+ column2+" ASC"
- Edité par giheb 13 février 2019 à 15:32:50
tri base de données
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Mon site - Mon livre sur le XML - Mon blog