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.