IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Obtenir le _id "max" d'une table SQLite vide


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 107
    Par défaut Obtenir le _id "max" d'une table SQLite vide
    Bonjour =)

    Je cherche un moyen pour avoir le _id max d'une table qui peut être vide.
    Par exemple :
    J'ai une table avec 3 rows (donc _id 1, _id 2, _id 3), l'application peut vider la table à tout moment via un boutton. Si la table est vidée, j'aimerais obtenir le _id row max (_id row max = 3 dans cet exemple) de cette table avant d'ajouter de nouvelles rows.

    Estce possible ? si oui comment faire ?

    Merci bien =)

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java / C++
    Inscrit en
    Mars 2013
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java / C++

    Informations forums :
    Inscription : Mars 2013
    Messages : 128
    Par défaut
    Bonjour kegilko,

    Est-ce que l'id que tu souhaite récupérer correspond à la clé primaire de la table?
    Si oui, pourquoi souhaite tu récupérer l'_id max d'une table qui n'existe plus?

    Une façon de procéder serait de récupérer cette idée avant la suppression de la table, en utilisant un curseur.
    Lors de la création de ce curseur, si on ne spécifie aucun "filtre", alors le curseur donne accès à toute la table, il ne reste plus qu'à le placer à la fin de la table, et demander l'_id de cet élément.

    Mais si cet id correspond à la clé primaire de la table, alors je ne vois pas trop l'intérêt de connaître la dernière clé d'un table qui n'existe plus. pourrais tu nous fournir plus de précision sur ce que tu souhaite faire?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 107
    Par défaut
    En fait, j'ai une appli sur laquelle on enregistre des fiches. Elles sont stockées localement (sqlite..), et peuvent être envoyé sur une base de données distante.
    Le truc c'est que ces fiches peuvent être lourdes (elles contiennent des photos..), donc j'ai implémenté une fonction qui permet via un bouton de supprimer les fiches du téléphone qui ont déjà été stocké dans la bdd distante.

    Par comodité, chaque fois que l'on souhaite créér une fiche, un formulaire apparait avec le numéro de la fiche (c'est ici que le _id joue) et une fois ce formulaire validé il est enregistré dans la base sqlite du smartphone.

    Donc jusqu'à maintenant, je lisais le nombre de row de la table pour connaitre le numéro de la fiche. Mais maintenant qu'on peut vider toute la table, le numéro de fiche va repartir à zero si je me contente de lire le nombre de row..et ce n'est pas ce que je veux.

    D'autant plus que lorsqu'une nouvelle fiche est créé après que la table a été vidée, le _id de cette fiche ne se réinitialise pas à 0 (ce qui m'arrange..). Donc si le _id ne s'est pas réinitialisé à zéro, c'est qu'il doit bien être stocké quelque part où je pourrais l'avoir ?

    J'espère avoir été clair ^^

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur Java / C++
    Inscrit en
    Mars 2013
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java / C++

    Informations forums :
    Inscription : Mars 2013
    Messages : 128
    Par défaut
    Ok, je comprends mieux.

    Je ne sais absolument pas où peut bien être stocké cette information, et encore moins comment la récupérer. Désolé. Cependant, la méthode que je t'ai proposé précédemment, permet d'aboutir au résultat que tu souhaite.

    J'espère que quelqu'un passera par là avec plus d'informations.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 107
    Par défaut
    Le soucis est que si un utilisateur quitte l'appli après avoir vidé la table, et qu'il revient... le curseur qui a servis pour enregistré n'existera plus..

    Bon, la solution je la voie hein, il faudrait que je stock la valeur quelque part avant suppression de la table. Mais je ne vais tout de même pas stocker une malheureuse peite variable dans une table exprés pour elle... Avant d'obtenir 'la' solution 'propre', quel est le moyen le plus simple de stocker une information type int qui persiste dans le smartphone ?

    Je vais recherché dans ce sens..

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur Java / C++
    Inscrit en
    Mars 2013
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java / C++

    Informations forums :
    Inscription : Mars 2013
    Messages : 128
    Par défaut
    Stocké cette variable dans la base de donnée n'est pas interdit.

    Après, stocker des informations de manière persistante il y a plusieurs façon de procéder, l'utilisation d'un fichier, ou d'objet mis à disposition par le framework.

    Tiens, un coup de pouce pour trouver une solution qui te convient:

    http://developer.android.com/guide/t...a-storage.html

Discussions similaires

  1. insérer une valeur 'max + 1' dans une table
    Par pierre.egaud dans le forum Access
    Réponses: 2
    Dernier message: 13/04/2006, 15h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo