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

Servlets/JSP Java Discussion :

Problème de mise à jour jsp/oracle


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 57
    Points : 38
    Points
    38
    Par défaut Problème de mise à jour jsp/oracle
    salut j'ai un souci avec la mise à jour des données dans ma base oracle.
    en fait je recupère des informatiions d'un formulaire pour mettre à jour une table voici mon 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
    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
     
     
    String Matricule = request.getParameter("matricule");
    	String NomAgent = request.getParameter("nomagent");
    	String PrenomAgent = request.getParameter("prenomagent");
    	String Sexe = request.getParameter("sexe");
    	String DateNaissance = request.getParameter("datenaissance");
    	String Nationalite = request.getParameter("nationalite");
    	String Fonction = request.getParameter("fontion");
    	String DateRecrutement = request.getParameter("daterecrutement");
    	String Niveau = request.getParameter("niveauanglais");
    	String CertificatMed = request.getParameter("datecertifmed");
    	String DateQualif1 = request.getParameter("datequalif1");
    	String Centre = request.getParameter("centre");
    	String DateAffectation = request.getParameter("dateaffectation");
            String DateRetraite = request.getParameter("dateretraite");
     
            //c.MiseaJourControleur(Matricule, Nom, Prenom, Sexe, DateNaissance, Nationalite, Fonction, DateRecrutement, Niveau, CertificatMed, DateQualif1, DateAffectation);
     
            java.sql.Date datenaissance = null;
            java.sql.Date daterecrutement = null;
            java.sql.Date dateretraite = null;
            java.sql.Date certificatmed = null;
            java.sql.Date datequalif1 = null;
     
            SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
     
            if(DateNaissance.length() != 0)   datenaissance = new java.sql.Date(sdf.parse(DateNaissance).getTime()); 
            if(DateRecrutement.length() != 0)   daterecrutement = new java.sql.Date(sdf.parse(DateRecrutement).getTime()); 
            if(DateRetraite.length() != 0)   dateretraite = new java.sql.Date(sdf.parse(DateRetraite).getTime()); 
            if(CertificatMed.length() != 0)   certificatmed = new java.sql.Date(sdf.parse(CertificatMed).getTime());
            if(DateQualif1.length() != 0)   datequalif1 = new java.sql.Date(sdf.parse(DateQualif1).getTime());
     
            updtagent = "UPDATE CONTROLEUR"+
            "   SET CERTIFICATMED = '"+certificatmed+
            "',       DATEQUALIFICATION1 = '"+datequalif1+
            "',       NOMAGENT = '"+NomAgent+
            "',       PRENOMAGENT = '"+PrenomAgent+
            "',       SEXE = '"+Sexe+
            "',       DATENAISSANCE = '"+datenaissance+
            "',       NATIONALITE = '"+Nationalite+
            "',       FONCTION = '"+Fonction+
            "',       NIVEAU = '"+Niveau+
            "',       DATERECRUTEMENT = '"+daterecrutement+
            "',       DATERETRAITE = '"+dateretraite+
            "' WHERE MATRICULE = '"+Matricule+"'";
     
     
     
            System.out.println("Avant MAJ agent!!!");
            resupdtagent = stmt.executeUpdate(updtagent);
            System.out.println("Après MAJ agent!!!");
            con.commit();
    il me pose le pb suivant à lexecution!
    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
     
     
    javax.servlet.ServletException: ORA-01861: le littéral ne concorde pas avec le format chaîne de caractères
     
    	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
    	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
    	org.apache.jsp.ficheagent_jsp._jspService(ficheagent_jsp.java:500)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
     
     
    cause mère 
     
    java.sql.SQLException: ORA-01861: le littéral ne concorde pas avec le format chaîne de caractères
     
    	oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    	oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    	oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    	oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    	oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
    	oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946)
    	oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
    	oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1614)
    	oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1579)
    	org.apache.jsp.ficheagent_jsp._jspService(ficheagent_jsp.java:166)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
    J'ai tenté en vain de voir ce qui cloche je ne vois pas! quelqu'un voit il le pb?
    Merci !!

  2. #2
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Cela signifie que un de tes champs dates ne recoit pas un format correct.

    Essaye plutot d'utiliser to_date et jette oeil sur cette discussion :

    http://www.developpez.net/forums/sho...d.php?t=315174

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 57
    Points : 38
    Points
    38
    Par défaut
    Je suppose que to_date a comme parmètre to_date(String madate, String format)
    J'ai essayé to_date dans ma requete de mise à jour comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    updtagent = "UPDATE CONTROLEUR"+
            "   SET CERTIFICATMED = to_date('"+CertificatMed+
            "', 'YYYY/MM/DD'),       DATEQUALIFICATION1 = to_date('"+DateQualif1+
            "', 'YYYY/MM/DD'),       NOMAGENT = '"+NomAgent+
            "',       PRENOMAGENT = '"+PrenomAgent+
            "',       SEXE = '"+Sexe+
            "',       DATENAISSANCE = to_date('"+DateNaissance+
            "', 'YYYY/MM/DD'),       NATIONALITE = '"+Nationalite+
            "',       FONCTION = '"+Fonction+
            "',       NIVEAU = '"+Niveau+
            "',       DATERECRUTEMENT = to_date('"+DateRecrutement+
            "', 'YYYY/MM/DD'),       DATERETRAITE = to_date('"+DateRetraite+
            "', 'YYYY/MM/DD') WHERE MATRICULE = '"+Matricule+"'";
    mais ça ne marche pas. il fait cette 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
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    javax.servlet.ServletException: ORA-01830: Le modèle  du format de date se termine avant la conversion de la chaîne d'entrée entière
     
    	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
    	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
    	org.apache.jsp.ficheagent_jsp._jspService(ficheagent_jsp.java:541)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
     
     
    cause mère 
     
    java.sql.SQLException: ORA-01830: Le modèle  du format de date se termine avant la conversion de la chaîne d'entrée entière
     
    	oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    	oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    	oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    	oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    	oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
    	oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946)
    	oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
    	oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1614)
    	oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1579)
    	org.apache.jsp.ficheagent_jsp._jspService(ficheagent_jsp.java:206)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
    je n'ai aucune idée de ce que ça pe etre!!

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 57
    Points : 38
    Points
    38
    Par défaut
    J'ai trouvé une solution à mon problème en passant par le PreparedStatement il est assez simple et propre.
    ma reference : preparedstatement

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

Discussions similaires

  1. (oracle linux 5) problème de mise à jour auto (xorg-x11-drv-ati)
    Par olivier57b dans le forum RedHat / CentOS / Fedora
    Réponses: 0
    Dernier message: 13/03/2011, 12h08
  2. Réponses: 2
    Dernier message: 14/05/2007, 10h45
  3. [2000 Server] Problème de mise à jour windowsupdate !!
    Par rohstev dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 24/08/2005, 15h03
  4. Problème de mise à jour de base de données
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 26/05/2004, 11h38
  5. problème de mise à jour de BD
    Par tidiane dans le forum Bases de données
    Réponses: 5
    Dernier message: 04/03/2004, 15h32

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