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 :

selectionné des données enregistrées ces 30 derniers jours.


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Juin 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juin 2013
    Messages : 26
    Points : 25
    Points
    25
    Par défaut selectionné des données enregistrées ces 30 derniers jours.
    Bonjours,

    je souhaite extraire de ma base de données les infos enregistrées ces 30 derniers jours. La table concernée possède une colonne DATE sous le champ TEXT.

    Voici mon code pour extraire mes données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Calendar theEnd = Calendar.getInstance();
    	    	Calendar theStart = (Calendar) theEnd.clone();
     
    	    	theStart.add(Calendar.DAY_OF_MONTH, -30);
     
    			String format = "dd/MM/yy";		
    			SimpleDateFormat dateFormat = new SimpleDateFormat(format);
    	    	String start = dateFormat.format(theStart.getTime());
    	    	String end = dateFormat.format(theEnd.getTime());
    	        cursor = db.SelectRecords(id,start,end);
     
     public Cursor SelectRecords(int id,String start,String end){
     
     	   db = database.getReadableDatabase();
     	   String query = " SELECT * FROM " + BDD.TABLE_RECORDS + 
     	   " WHERE COL_ID = ? AND COL_DATE BETWEEN ? AND ? "; 		   
     	   String idRecord = Integer.toString(id);
     	   Cursor mCursor = db.rawQuery(query,new String [] {idRecord,start,end});
     	   if(mCursor.getCount() != 0)
     	   {System.out.println("ok");}else{System.out.println("NULL");}
     	   return mCursor; 
        }
    Mais cela ne fonctionne pas, le cursor est vide. J'hésite a changer le champ Text par integer de Date dans ma base de donnée..

  2. #2
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Points : 2 808
    Points
    2 808
    Par défaut
    Bonjour,

    Effectivement, je te conseille de convertir ton champ en Long. En effet, le meilleur stockage d'une date dans une base SQLlite et de ce type. De plus, côté Java, il sera plus facile de convertir un long en Date.

    Dans ta requête, ton between risque de ne pas fonctionner comme tu l'espères. Une fois ton champs en long, il te suffira de faire une simple requête ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     String query = " SELECT * FROM " + BDD.TABLE_RECORDS + 
     	   " WHERE COL_ID = ? AND COL_DATE >= ? AND COL_DATE <= ? ";

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Juin 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juin 2013
    Messages : 26
    Points : 25
    Points
    25
    Par défaut
    Merci pour votre aide, et c'est partie pour du Long....

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/11/2010, 10h51
  2. [XL-2003] Extraire des données en fonction d'un jour par rapport à la colonne date
    Par fanfan89 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/08/2010, 16h14
  3. Selectionner des données d'un tableau
    Par rXpCH dans le forum VBA Word
    Réponses: 1
    Dernier message: 16/07/2009, 10h05
  4. Réponses: 2
    Dernier message: 30/04/2009, 12h46
  5. Comment récupérer des données enregistrées avec Rapid File ?
    Par didmarj2a dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/03/2008, 09h49

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