Partage
  • Partager sur Facebook
  • Partager sur Twitter

tri base de données

probléme de l'ordre a cause de l'ouverture fermeture de l'app

Sujet résolu
    12 février 2019 à 12:38:49

    Bonjour, 

    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 

    je fais le tri et j'ai: 1-3-5-7-2-4-6-8

    au lieu de 1-2-3-4-5-6-7-8

    Avez vous une idée sur ce qu'il faut faire 

    Je vous en remercie par avance 

    -
    Edité par giheb 12 février 2019 à 15:14:47

    • Partager sur Facebook
    • Partager sur Twitter
      13 février 2019 à 9:23:06

      Salut,

      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 ?

      Comment stockes-tu tes données dans le SQL ?

      • Partager sur Facebook
      • Partager sur Twitter
        13 février 2019 à 15:31:54

        Bonjour Rolandl, 

        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

        • Partager sur Facebook
        • Partager sur Twitter

        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.
        • Editeur
        • Markdown