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

JDBC Java Discussion :

Problème insertion type date dans la base MySQL


Sujet :

JDBC Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 67
    Par défaut Problème insertion type date dans la base MySQL
    Bonjour,

    J'ai un souci dans mon code, je ne parviens pas à insérer les dates de naissance dans la BD MySQL.

    Voici la classe :
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    package mesClasses;
     
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.List;
    import java.util.Date;
    import java.util.GregorianCalendar;
     
    public class er_etudiant {
        Calendar cal = new GregorianCalendar();
        private String mat;
        private String nom;
        private String prenom;
        private Date dnais;
        private String sexe;
        private String adresse;
        private String tel;
     
        public String getMat() {return mat;}
        public void setMat(String mat) {this.mat = mat;}
     
        public String getNom() {return nom;}
        public void setNom(String nom) {this.nom = nom;}
     
        public String getPrenom() {    return prenom;}
        public void setPrenom(String prenom) {this.prenom = prenom;}
     
        public Date getDnais() {return dnais;}
        public void setDnais(Date dnais) {this.dnais = dnais;}
     
        public String getSexe() {return sexe;}
        public void setSexe(String sexe) {this.sexe = sexe;}
     
        public String getAdresse() {return adresse;}
        public void setAdresse(String adresse) {this.adresse = adresse;}
     
        public String getTel() {return tel;}
        public void setTel(String tel) {this.tel = tel;}
     
        public void insertIntoDB() throws Throwable {
            Connection cnx = Connector.getConnection();
            // create the mysql insert preparedstatement
            PreparedStatement preparedStmt = cnx
                    .prepareStatement("insert into er_etudiant(e_id, e_mat, e_nom, e_prenom, dnais, e_sexe, e_adr, e_tel) values (DEFAULT, ?, ?, ?, ?, ?, ?)");
            preparedStmt.setString(1, this.mat);
            preparedStmt.setString(2, this.nom);
            preparedStmt.setString(3, this.prenom);
            preparedStmt.setString(4,dnais.toString());
            preparedStmt.setString(5, this.sexe);
            preparedStmt.setString(6, this.adresse);
            preparedStmt.setString(7, this.tel);
     
            // execute the preparedstatement
            preparedStmt.execute();
            cnx.commit();
            cnx.close();
        }
     
        public static List<er_etudiant> getListeEtudiant() throws Throwable {
            ArrayList<er_etudiant> liste = new ArrayList<er_etudiant>();
            Connection cnx = Connector.getConnection();
            // create the java statement
            Statement st = cnx.createStatement();
     
            // execute the query, and get a java resultset
            ResultSet rs = st.executeQuery("SELECT * FROM er_etudiant");
     
            // iterate through the java resultset
            while (rs.next()) {
                er_etudiant etu = new er_etudiant();
                etu.setMat(rs.getString("e_mat"));
                etu.setNom(rs.getString("e_nom"));
                etu.setPrenom(rs.getString("e_prenom"));
                etu.setDnais(rs.getDate("e_dnais"));
                etu.setSexe(rs.getString("e_sexe"));
                etu.setAdresse(rs.getString("e_adr"));
                etu.setTel(rs.getString("e_tel"));
                liste.add(etu);
            }
            st.close();
            cnx.close();
            return liste;
        }
    }
    Voici le fichier d'insertion où Eclipse me notifie une erreur :
    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
    24
    25
    26
    27
    <%@ page import="mesClasses.*"%>
     
    <%
        // Parameters come as strings
     
        er_etudiant etu = new er_etudiant();
        etu.setMat(request.getParameter("mat"));
        etu.setNom(request.getParameter("nom"));
        etu.setPrenom(request.getParameter("prenom"));
        etu.setDnais(request.getParameter("dnais")); 
    **** erreur : the method setDnais(date) in the type er_etudiant is not applicable for the arguments (String) 
        etu.setSexe(request.getParameter("sexe"));
        etu.setAdresse(request.getParameter("adresse"));
        etu.setTel(request.getParameter("tel"));
     
        try {
            etu.insertIntoDB();
    %>
    Insertion étudiant OK!
    <%
        } catch (Throwable e) {
    %>
    <h2>Insertion ERROR!</h2>
    <%=e.toString()%>
    <%
        }
    %>
    Quelqu'un saurait-il m'indiquer d'où peut venir le problème ?

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Par défaut
    Bonjour,

    Qu'est-ce que tu ne comprends pas dans l'erreur indiquée ?
    **** erreur : the method setDnais(date) in the type er_etudiant is not applicable for the arguments (String)
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  3. #3
    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
    Tu passes un argument de type String à la méthode setDate() alors que dans sa signature tu as prévu la réception d'un argument de type 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.

  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
    Sur cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     preparedStmt.setString( 4 ,dnais.toString());
    Si le champ e_datnais est de type Date pourquoi lui passer une String? La classe PreparedStatement dispose d'une méthode bien faite pour passer des dates. Sauf que le paramètre n'est de type java.util.Date mais plutôt une date sql. Je te la recommande fortement
    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.

Discussions similaires

  1. [MySQL] Problème d'insertion de données dans une base MySql à partir d'un fichier csv
    Par kazabandi dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 22/12/2010, 18h05
  2. problème d'insertion des dates dans une base
    Par guy_antoine_mav dans le forum C#
    Réponses: 13
    Dernier message: 02/12/2009, 17h34
  3. Réponses: 1
    Dernier message: 11/11/2007, 17h54
  4. Ajouter un champs de type " Date " dans ma base ac
    Par hysteresis dans le forum Langage SQL
    Réponses: 16
    Dernier message: 10/10/2005, 16h10
  5. Réponses: 11
    Dernier message: 01/06/2005, 15h18

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