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

 Java Discussion :

Ajouter les données de calendrier (jDateChooser) à la base de données


Sujet :

Java

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 32
    Par défaut Ajouter les données de calendrier (jDateChooser) à la base de données
    Bonjour,

    J'aimerais savoir comment ajouter les données à partir de calendrier, à la base de données ?

    Quelqu'un saurait-il me guider un peu ?

    J'utilise WampServer et PhpMyAdmin.

    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Tutoriel JDBC: http://jguillard.developpez.com/JDBC/

    Une des bonnes façons de modéliser une interaction java/base de données: http://cyrille-herby.developpez.com/...c-pattern-dao/

    Une fois ceci compris, vu que ton JDateChooser te renvoie un objet de type Date, il n'est pas difficile du tout d'aller stocker cette information dans une colonne typée Date dans Mysql

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 32
    Par défaut merci pour les totorail
    l'aider comment récuperer les donner
    de jdatechooser et stoker dans la base de donner
    par exemple:
    j'ai utiluse une zonne de text sous netbeans:
    variable=jTextField1.getText();

  4. #4
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Salut,
    MySQL stocke les dates sous format anglais (yyyy/MM/dd). Donc année suivie du mois suivi du jour. Tu dois transformer le contenu de ton composant en format anglais puis l'enregistrer dans ta base de données. Ce code peut t'aider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //créer un format à appliquer à la date
    SimpleDateFormat sp=new SimpleDateFormat("yyyy/MM/dd");
    //appliquer ce format à ta date obtenue de jDateChooser
    String date=sp.format(tonComposantDate.getDate());
    Après cette transformation, tu peux aisement enregistrer ta valeur comme une chaine de caractères.
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    PAN!

    Que ce soit mysql ou n'importe quel base de données, tu ne peux pas en général être sur du format. Par contre, ce que tu peux être sur, c'est que si tu utilise statement.setDate(index,java.util.Date), tout se passera bien. Ne jamais essayer de stocker des dates sous forme de String dans une base de données, sauf si on cherche les emmerdes.

  6. #6
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    PAN!

    Que ce soit mysql ou n'importe quel base de données, tu ne peux pas en général être sur du format. Par contre, ce que tu peux être sur, c'est que si tu utilise statement.setDate(index,java.util.Date), tout se passera bien. Ne jamais essayer de stocker des dates sous forme de String dans une base de données, sauf si on cherche les emmerdes.
    Merci pour la mise en garde, au fait je pensais plutôt que 2013/11/04 serait enregistré comme une date dans un champ de type Date dans une base de données. Tu peux bien m'éclaircir pour éviter des ignorances? Merci d'avance
    Mais aussi sur l'utilsation de
    statement.setDate(index,java.util.Date)
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par MasterMbg Voir le message
    Merci pour la mise en garde, au fait je pensais plutôt que 2013/11/04 serait enregistré comme une date dans un champ de type Date dans une base de données. Tu peux bien m'éclaircir pour éviter des ignorances? Merci d'avance
    Mais aussi sur l'utilsation de
    Salut,

    Quand on utilise le mode console ou les requêtes sous forme de chaînes de caractères, on est effectivement souvent obligé d'indiquer les dates sous forme de chaînes de caractères. Ceci oblige à bien connaître les formats pris en compte par le SGBD, mais aussi son paramétrage. En outre, ça fonctionne parfois par conversion, donc n'est pas le plus optimisé.

    Lorsque tu utilises un PreparedStatement, son implémentation JDBC intègre déjà tous les traitements nécessaires pour traiter les dates, conformément aux attentes du SGBD et de son paramétrage. Traiter "à la main" ce que fait le driver est possible, mais ce n'est pas une bonne idée :
    1) tu risques d'oublier des particularités qui vont faire que ça risque de ne pas fonctionner correctement à 100% (sans t'en apercevoir en plus, parce que ça plantera sur une configuration particulière que tu n'auras pas eu l'occasion d'avoir sous la main)
    2) c'est un boulot inutile puisque déjà fait, et surement de manière plus complète

    Sans parler en plus de l'intérêt d'utiliser des PreparedStatement pour éviter l'injection sql. Et qu'ils permettent à ton code de n'être plus dépendant du moteur et qu'un passage de mysql à postgres, ou oracle, ou autre, se fera de manière transparente.


    PS je ne parle même pas de stocker des dates sous forme de chaines de caractères, qui n'apporte que des emmerdes comme l'a dit @Tchize_ (genre pour les tris, il faut les formatter AAAAMMJJ (l'an 10000 c'est dans longtemps ok ), mais du coup il faut les bidouiller pour les afficher (en fonction de la Locale) ; les between sont archi conpliqués, sans parler d'utiliser des index, etc...)...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #8
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Merci beaucoup Joel
    J'ignorais que PreparedStatement offre plus des avantages à part gérer des injonctions sql. Pigé, je ferai très attention now.
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  9. #9
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Je parlais surtout du fait que le preparedStatement n'a aucune conversion à faire. Puisque, sauf SGBD particulier, il transmet séparément les données du statement, quand tu fais un setDate, il envoie directement un timestamp à la base de données, sous forme numérique, et non pas sous forme d'une chaine de caractère. Quand je parlais de stocker sous forme de chaine, je parlais d'envoyer une chaine au sgbd, ce qui pose des problèmes de conversion, à moins de forcer une conversio sure avec des méthodes comme to_date, ce qui allourdi énormément la lecture de la requête SQL.

  10. #10
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 32
    Par défaut
    merci boucoup

  11. #11
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Merci beaucoup tchize. C'est très précis et depuis votre intervention, je profite des services de PreparedStatement pour envoyer mes dates dans la base de données. Avec votre précision, je comprends mieux ce que je fais now. Merci de votre aide
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  12. #12
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 32
    Par défaut Grand merci TT
    Il Marche bien Merci

  13. #13
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Citation Envoyé par meher frioui Voir le message
    Il Marche bien Merci
    Tu as oublié de marquer "résolue" ta discussion...
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/05/2013, 10h38
  2. Afficher les tables et champs d'une base de données
    Par sovo dans le forum Vos contributions VB6
    Réponses: 4
    Dernier message: 21/02/2008, 15h40
  3. [SqlServer 2000] Comment lister les noms de table de ma base de données ?
    Par karima1972 dans le forum Accès aux données
    Réponses: 6
    Dernier message: 21/02/2007, 16h26
  4. Suivre les mises a jour d'une base de données avec Delphi 7?
    Par ncazanav dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/12/2006, 21h22
  5. Réponses: 4
    Dernier message: 15/05/2006, 16h54

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