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 :

Appeler fonction SQLite dans une projection ?


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Par défaut Appeler fonction SQLite dans une projection ?
    Bonjour,

    j'ai beau essayer, je n'arrive pas à mettre de fonctions dans une projection pour faire une managedQuery. Tous les exemples sur le net utilisent directement des données par exemple les noms et numéros des contacts, mais moi j'ai besoin d'appeler des fonctions pour faire des calculs sur des dates et afficher ça dans le curseur de résultat, mais pas moyen.

    Alors est-ce possible d'utiliser par exemple strftime dans une projection par exemple en la construisant comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String[] projection = new String[]
    {
    	ContactsContract.Contacts.DISPLAY_NAME,
    	 "strftime('%Y','" + ContactsContract.CommonDataKinds.Event.START_DATE + "')"
    };
    Sinon, comment peut-on appeler des fonctions en SQLite ?

  2. #2
    Membre expérimenté Avatar de chpil
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 143
    Par défaut
    Sur une base SQLite, il est possible d'utiliser la méthode rawQuery pour faire des requêtes SQL "natives"; tu peux alors faire une requête multi-tables, avec utilisation de fonctions, ...
    Mais, dans ton cas, si tu souhaites visiblement récupérer les contacts, tu ne t'adresses pas à une base de données, mais à un ContentProvider. Et ce n'est pas la même chose. Même si cela ressemble à une base de données, il n'y en a pas forcément une derrière chaque ContentProvider. Tu ne peux récupérer les contenus que par projection, et uniquement les champs prévus par le ContentProvider

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Par défaut
    Et donc ? Aucun moyen de faire ce que je souhaite ? :/

  4. #4
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Par défaut
    Sinon une fois que j'ai mon curseur (Cursor),
    pourrais-je, en Java pas SQLite, le reparcourir, ajouter une colonne avec les données calculées que je souhaitais mettre en SQLite, puis le retrier sur cette nouvelle colonne ?

  5. #5
    Membre expérimenté Avatar de chpil
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 143
    Par défaut
    Tu peux utiliser le curseur pour récupérer les données, les traiter, les trier selon tes propres critères, etc... Mais ce n'est pas la même chose que de récupérer un résultat directement trié; dans un cas, c'est la source de données qui fait le travail, dans l'autre, c'est ton application qui le fait, après avoir récupéré TOUTES les données

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 433
    Par défaut
    Par contre, si dans la projection je n'arrive pas à utiliser de fonctions, dans la clause ORDER BY j'y arrive bien !

Discussions similaires

  1. Appeler fonction js dans une fonction jquery
    Par Augustule dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 12/10/2013, 17h51
  2. appel fonction php dans une balise <a>
    Par labib23dz dans le forum Langage
    Réponses: 4
    Dernier message: 24/06/2013, 14h50
  3. Appel d'une fonction java (dans une applet) depuis javascript
    Par foued_scorpion dans le forum Applets
    Réponses: 2
    Dernier message: 17/01/2007, 10h40
  4. Réponses: 2
    Dernier message: 19/09/2006, 19h06
  5. Réponses: 12
    Dernier message: 12/05/2006, 09h21

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