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 :

Exécuter une requête SQLITE dans le code d'un adapter, est-ce correct ?


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut Exécuter une requête SQLITE dans le code d'un adapter, est-ce correct ?
    Salut,

    J'utilise le couple CursorLoader/ContentProvider pour afficher les données d'une table dans un ListView.
    Tout fonctionne correctement.
    Pour chacune des lignes affichées, j'ai besoin de faire un calcul basé une l'exécution d'une requête sqlite.
    Cela signifie que pour chaque ligne affichée, je crée une connexion à la base de données, je lance ma requête, je fais les calculs nécessaires avec les enregistrements récupérés et je ferme la connexion à la bdd.
    Tout fonctionne très bien et c'est très réactif au niveau de l'affichage.
    Ma question : cette méthode est-elle propre ? existe-t-il des contre-indications à procéder de cette façon ? si oui, comment pratique autrement ?

    A+

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    J'avoue que je comprends pas bien....

    Tu affiches une liste avec des objets issus de SQL
    Et pour chaque objet, tu refais une requête pour avoir une valeur issue de SQL ?

    Pourquoi ne pas tout récupérer d'un coup ?

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut
    J'avoue que je comprends pas bien....

    Tu affiches une liste avec des objets issus de SQL
    Et pour chaque objet, tu refais une requête pour avoir une valeur issue de SQL ?
    Il est vrai que, de la façon dont je l'ai décrit, ce n'est pas forcément facile à comprendre.
    Mon listview est censé afficher une liste de d'articles.
    Pour chaque article, j'ai dans une autre table un historique des entrées et des sorties.
    Comme je veux afficher la quantité réelle en stock dans mon listview, je pensais devoir faire un calcul de quantité dynamiquement en fonction des qtés précisées dans l'historique.
    Une fonction va lire l'historique dans la base (d'où la 2ème requête), calcule le stock réel et le retourne à l'adapter au moment où il affiche les données de l'article.
    Ca fonctionne très bien mais j'ai peur que cela ne soit pas très propre, surtout sur une grosse base de données.

    Pourquoi ne pas tout récupérer d'un coup ?
    Ceci étant dit, j'ai cherché comment avoir cette information directement via la requête du ContentProvider.
    Après quelques changements dans la façon d'enregistrer mes données et dans la syntaxe de ma requête, j'y suis parvenu, donc plus besoin du calcul dans l'adapter.

    Merci de ton aide, nicroman

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Oui tu peux imbriquer les selects ....

    select id, tata, toto, (select sum(a-b) from stock where stock.produit_id=id) as dispo from produits;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.0] Exécuter une requête SQL dans une fonction Javascript
    Par PrinceMaster77 dans le forum Langage
    Réponses: 13
    Dernier message: 08/07/2011, 04h53
  2. [AC-2003] Exécuter une Requête SQL dans VBA
    Par domik dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 24/08/2010, 13h22
  3. Exécuter une requête contenue dans une variable
    Par Passepoil dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/07/2010, 20h50
  4. [MySQL] Exécuter une requête UPDATE dans une boucle
    Par vacknov dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 24/10/2008, 17h46
  5. copier une requête sql dans un code java
    Par Smix007 dans le forum Langage
    Réponses: 2
    Dernier message: 05/04/2008, 15h14

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