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 :

récupération date en bdd sqlite


Sujet :

Android

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 87
    Points
    87
    Par défaut récupération date en bdd sqlite
    Bonjour, avant de commencer.
    Bonne année tout le monde.

    Je suis bloqué sur la récupération d'une date. Je m'explique plus clairement.
    Je suis entrain de développer un logiciel basé sur les voyages que les personnes font. Dans celui-ci quand un voyage est commencé, je fais une requête pour savoir si il y a déjà une étape à mon projet(état du voyage). Si oui alors dans le cas là, je récupère la date de la dernière étape et je lui rajoute un.

    Voici le code:

    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
    if(vyg.getCount()>0)
            {
            	vyg.moveToLast();
            	Date datems = new Date(vyg.getInt(PwtProvider.M_DATE_DEPLACEMENT_COLUMN));
            	annee = datems.getYear();
            	mois = datems.getMonth();
                jour = datems.getDate()+1;
            }
            else
            {
            	 // récupérer la date actuelle
    	        final Calendar c = Calendar.getInstance();
    	        annee = c.get(Calendar.YEAR);
    	        mois = c.get(Calendar.MONTH);
    	        jour = c.get(Calendar.DAY_OF_MONTH);     
            }

    Là c'est à moitié bon car en faites il me mets la date mais avec l'année qui est égal à je dirais un peu n'importe quoi.

    Si vous avez une idée ......

    Loïc

  2. #2
    Expert éminent

    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
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Déjà, question bateau... pourquoi vouloir séparée jour/mois/année ?

    La "Date" est suffisante à elle même.

    Ensuite, en l'état, il me semble que Eclipse devrait mettre un GROS warning de cast manquant sur la ligne:

    Date datems = new Date(vyg.getInt(PwtProvider.M_DATE_DEPLACEMENT_COLUMN));

    Qui devrait être remplacé par:

    Date datems = new Date(vyg.getLong(PwtProvider.M_DATE_DEPLACEMENT_COLUMN));

    Bon ensuite je ne connais pas la structure de la base de données mais le code pourrait être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Date datems = null;
    if (vyg.moveToLast()) {
        if (!vyg.isNull(PwtProvider.M_DATE_DEPLACEMENT_COLUMN))
            datems = new Date(vyg.getLong(PwtProvider.M_DATE_DEPLACEMENT_COLUMN));
    }
    if (datems == null)
        datems = new Date();

    Et comment sont stockés les dates dans la DB ?
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 87
    Points
    87
    Par défaut
    Merci beaucoup pour ta réponse. Par contre éclipse ne m'as pas mis de WARNING sur la ligne. Autrement je stocke les dates en entiers dans ma base.
    Il est entièrement vrai que j'aurais dû mettre un getLong à la place du getInt.

    Merci beaucoup.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 87
    Points
    87
    Par défaut
    Par contre j'ai encore une petite question quand le jour est le dernier jours du mois.

    ????

  5. #5
    Expert éminent

    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
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Oui oui ... au temps pour moi.... il ne dit rien sur (int) vers (long), ... je croyais que les fonctions renvoyait des Integer et Long ce qui n'est pas le cas évidemment puisqu'on doit tester la nullité différemment.

    Par contre tu n'as pas répondu à ma question bateau
    "Pourquoi vouloir séparer jour/mois/année ?"

    Si les dates sont bien stockées par un code genre Date.getTime() (en Long) alors il ne devrait pas y avoir de problème.

    Rajoutes du Log.i avec la valeur récupérée de la base de donnée....
    puis avec la date obtenue. on sait jamais.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 87
    Points
    87
    Par défaut
    oui excuse alors en faites la date ensuite est affiché dans un pickerdatedialog. Donc en faite à l'affichage je formate la chaine de cette façon "dd-mm-yyyy".
    Voilà, par contre il me fait une erreur quand je mets le dernier jour du mois .....

  7. #7
    Expert éminent

    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
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Oui, donc c'est ce que je dis, il faut conserver l'objet Date et utiliser un DateFormat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SimpleDateFormat sdf = new SimpleDateFormat("dd-mm-yyyy");
    String datetext = sdf.format(date);
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 87
    Points
    87
    Par défaut
    Merci beaucoup j'ai développé un petit algorithme pour avoir plus d'informations.

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

Discussions similaires

  1. Récupération date et heure
    Par Goldorak2 dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 28/08/2009, 23h20
  2. récupération date Mysql
    Par miram dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 09/02/2006, 14h17
  3. [MySQL] Sous quelle forme dois-je envoyer la date vers BDD ?
    Par Death83 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 22/12/2005, 10h15
  4. insérer date dans bdd mssql
    Par ericmart dans le forum ASP
    Réponses: 18
    Dernier message: 14/12/2004, 15h10

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