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

Développement Web en Java Discussion :

Probleme insertion base de données


Sujet :

Développement Web en Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 60
    Par défaut Probleme insertion base de données
    Bonjour,
    Je suis entrain de développer une application de gestion des réservations des place pour un théâtre.
    J'ai un problème lors de l'insertion d'un utilisateur.
    Voici le createutilisateur de ma classe DAO:
    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
     
       public void createUser(int id, String nom, String prenom, String mail, String login, String pwd, Boolean type) throws DaoException {
            Statement stmt ;
            Connection conn = null;
            try {
                conn = ds.getConnection();
                stmt = conn.createStatement();
                String query = "insert into Utilisateur (user_id,user_login,user_nom,user_prenom,user_email,user_pwd,user_type) values ('','" + login + "','" + nom + "','" + prenom + "','" + mail + "','" + pwd + "','0')";
                System.err.println(query);
                stmt.execute(query);
            } catch (SQLException ex) {
                ex.printStackTrace();
                Logger.getLogger(UtilisateurDAO.class.getName()).log(Level.SEVERE, null, ex);
                throw new DaoException("Erreur Ã* la création de l'utilisateur : " + login);
            } finally {
                closeConnection(conn);
            }
        }
    Voici la partie qui nous intéresse du code jsf
    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
     
        <h:form>
          <h:outputText value ="Bienvenue sur notre Site"/><br><hr>
          <h:outputText value ="Inscription"/><br>
          <h:panelGrid columns ="2">
             <h:outputText value="nom :"/>
             <h:inputText value="#{AddUser.user_nom}" required="true" label="login"/>
             <h:outputText value="prenom :"/>
             <h:inputText value="#{AddUser.user_prenom}" required="true"/>
             <h:outputText value="login :"/>
             <h:inputText value="#{AddUser.user_login}" required="true"/>
             <h:outputText value="pwd :"/>
             <h:inputSecret value="#{AddUser.user_pwd}" required="true"/>
             <h:outputText value="mail :"/>
             <h:inputText value="#{AddUser.user_email}" id ="email" required="true">
     
             </h:inputText>
           </h:panelGrid>
          <h:commandButton value="Enregistrer" action="#{AddUser.add}"/><br><br>
           <font color =RED><b><h:message for="email" /></b></font><br>
     </h:form>
    Et enfin le code de mon managed
    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
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
     
    public class AddUser {
     
      private int user_id;
        private String user_nom;
        private String user_prenom;
        private String user_email;
        private String user_adresse;
        private String user_codepostal;
        private String user_pwd;
        private String user_login;
        private String user_role;
        private Boolean user_type;
      private UtilisateurDAO utilisateurDAO;
     
        public AddUser() throws Exception {
             utilisateurDAO = DAOFactory.getUtilisateurDAO();
        }
     
     
     
        public int getuser_id() {
            return user_id;
        }
     
        public void setuser_id(int val) {
            this.user_id = val;
        }
     
        public String getuser_login() {
            return user_login;
        }
     
        public void setuser_login(String login) {
            this.user_login = login;
        }
     
        public String getuser_email() {
            return user_email;
        }
     
        public void setuser_email(String mail) {
            this.user_email = mail;
        }
     
        public String getuser_nom() {
            return user_nom;
        }
     
        public void setuser_nom(String nom) {
            this.user_nom = nom;
        }
     
        public String getuser_prenom() {
            return user_prenom;
        }
     
        public void setuser_prenom(String prenom) {
            this.user_prenom = prenom;
        }
     
        public String getuser_adresse() {
            return user_adresse;
        }
     
        public void setuser_adresse(String Adresse) {
            this.user_adresse = Adresse;
        }
     
        public String getuser_codepostal() {
            return user_codepostal;
        }
     
        public void setuser_codepostal(String codepostal) {
            this.user_codepostal = codepostal;
        }
     
        public String getuser_pwd() {
            return user_pwd;
        }
     
        public void setuser_pwd(String pwd) {
            this.user_pwd = pwd;
        }
         public Boolean getuser_type() {
            return user_type;
        }
     
        public void setuser_type(Boolean type) {
            this.user_type = type;
        }
        public String getuser_role() {
            return user_role;
        }
     
        public void setuser_role(String type) {
            this.user_role = type;
        }
     
        public String toString() {
            return user_login;
        }
           public String add() throws DaoException
        {
            utilisateurDAO.createUser(user_id, user_prenom, user_nom, user_email, user_login, user_pwd, user_type);
            return "menu";
        }
    Le soucis c'est dans un premier temps qu'il me met l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javax.servlet.ServletException: #{AddUser.add}: theatro.exception.DaoException: Erreur à  la création de l'utilisateur : null
    Merci pour votre aide
    Cordialement,

  2. #2
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Par défaut
    Tu as initlialisé ton utilisateurDAO dans
    DAOFactory.getUtilisateurDAO() ?

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Il est forcément initialisé puisque l'erreur est dans la méthode createUser(...)

    Je pense que l'erreur vient de ds.getConnection(); qui doit te renvoyer null

    Il semble également que les propriétés ne soient pas initialisées par les données de la page.


    Peux-tu mettre la pile d'erreur (tu fais un ex.printStackTrace() juste avant ton message)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 60
    Par défaut
    Voici les erreurs:
    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
     
    exception
     
    javax.servlet.ServletException: #{AddUser.add}: theatro.exception.DaoException: Erreur à  la création de l'utilisateur : null
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
     
    cause mère
     
    javax.faces.FacesException: #{AddUser.add}: theatro.exception.DaoException: Erreur à  la création de l'utilisateur : null
    	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:107)
    	javax.faces.component.UICommand.broadcast(UICommand.java:383)
    	javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
    	javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
    	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
    	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
    	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
     
    cause mère
     
    javax.faces.el.EvaluationException: theatro.exception.DaoException: Erreur à  la création de l'utilisateur : null
    	javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:91)
    	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
    	javax.faces.component.UICommand.broadcast(UICommand.java:383)
    	javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
    	javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
    	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
    	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
    	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
     
    cause mère
     
    theatro.exception.DaoException: Erreur à  la création de l'utilisateur : null
    	theatro.dao.UtilisateurDAO.createUser(UtilisateurDAO.java:48)
    	theatro.managed.AddUser.add(AddUser.java:119)
    	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	java.lang.reflect.Method.invoke(Method.java:597)
    	org.apache.el.parser.AstValue.invoke(AstValue.java:172)
    	org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    	org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
    	javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
    	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
    	javax.faces.component.UICommand.broadcast(UICommand.java:383)
    	javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
    	javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
    	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
    	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
    	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    A quoi correspond la ligne 48 dans UtilisateurDAO ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 60
    Par défaut
    Voici ma ligne 48:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     throw new DaoException("Erreur Ã* la création de l'utilisateur : " + login);

  7. #7
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 127
    Par défaut
    Salut
    je pense qu'il faut que tu ajoutes les getter et setter de votre objet utilisateurDAO dans la classe AddUser
    bonne chanse

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Je ne comprends pas tes traces, elles ne correspondent pas au code que tu montres
    Il y a moyen d'avoir quelque chose de cohérent et l'intégralité des classes qu'on puisse repérer les n° de ligne ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Par défaut
    Il manque la trace de l'exception SQL, tu peux nous la donner ?

    Sinon, pense à utiliser les preparedstatement... C'est plus propre, et tu éviteras des erreurs futures !

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

Discussions similaires

  1. [DBExpress] Formulaire d'insertion (Base de donnée)
    Par Nadd dans le forum C++Builder
    Réponses: 14
    Dernier message: 12/07/2007, 10h22
  2. Probleme connexion base de données (SQL Server 2005 Express)
    Par GuileIzback dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 13/11/2006, 01h46
  3. probleme insertion base access
    Par Adren dans le forum ASP
    Réponses: 10
    Dernier message: 19/07/2006, 14h53
  4. Probleme avec base de données et variable !
    Par Sunseeker69 dans le forum Bases de données
    Réponses: 4
    Dernier message: 27/04/2006, 16h39
  5. probleme construction base de donnes MySql...Help
    Par chakan dans le forum Requêtes
    Réponses: 7
    Dernier message: 21/07/2004, 11h27

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