Salut j'ai un souci d'insertion depuis quelques semaine maintenant.
En fait je developpe une application en jsp avec une base sous oracle.
Mon problème se pose lors de l'insertion dans une de mes tables pourtant l'insertion dans les se passe bien et c'est le meme code.
Voici le code de creation de ma table
Pour l'insertion je recupère les données d'un formulaire que je traite pour les adapter au format DATE et NUMBER(puisque je les recupère en STRING) afin de pouvoir les inserer. Voici les codes
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 CREATE TABLE "AGENTC" ( "MATRICULE" VARCHAR2(30) NOT NULL ENABLE, "CERTIFICATMED" DATE, "DATEQUALIFICATION1" DATE, "NOMAGENT" VARCHAR2(128), "PRENOMAGENT" VARCHAR2(128), "SEXE" VARCHAR2(1), "DATENAISSANCE" DATE, "NATIONALITE" VARCHAR2(50), "FONCTION" VARCHAR2(50), "DATERECRUTEMENT" DATE, "NIVEAU" NUMBER, "DATERETRAITE" DATE, "NUMFORMATION" NUMBER, "DATECONTROL" DATE, "DATEIMMERSION" DATE, "PERFECTIONNEMENT" DATE, CONSTRAINT "PK_AGENTC" PRIMARY KEY ("MATRICULE") ENABLE, CONSTRAINT "FK_AGENTC_AGENT" FOREIGN KEY ("MATRICULE") REFERENCES "AGENT" ("MATRICULE") ENABLE, CONSTRAINT "FK_NUMFORMATION" FOREIGN KEY ("NUMFORMATION") REFERENCES "FORMATIONINITIALE" ("NUMFORMATION") ENABLE ) /
la fonction d'insertion
la page jsp
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 public void InsertControleur(String Matricule, String CertificatMed, String DateQualif1, String NomAgent, String PrenomAgent, String Sexe, String DateNaissance, String Nationalite, String Fonction, String DateRecrutement, String Niveau, String NumFormation, String DateRetraite, String Control, String Immersion, String Perfectionnement) throws SQLException, Exception { conex = new Connexion(); con = conex.getConn(); Statement stmt = con.createStatement(); //Requete d'ajout de la formation initiale String reqInsert = "INSERT INTO AGENT (MATRICULE, CERTIFICATMED, DATEQUALIFICATION1, NOMAGENT, PRENOMAGENT, SEXE, DATENAISSANCE, " + "NATIONALITE, FONCTION, DATERECRUT, NIVEAU, DATERETRAITE, " + "NUMFORMATION, DATECONTROL, DATEIMMERSION, PERFECTIONNEMENT)"+ "VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; 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; java.sql.Date control = null; java.sql.Date immersion = null; java.sql.Date perfectionnement = null; int nivo = 0; int numform = 0; SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); if(DateNaissance != null) datenaissance = new java.sql.Date(sdf.parse(DateNaissance).getTime()); if(DateRecrutement != null) daterecrutement = new java.sql.Date(sdf.parse(DateRecrutement).getTime()); if(DateRetraite != null) dateretraite = new java.sql.Date(sdf.parse(DateRetraite).getTime()); if(CertificatMed != null) certificatmed = new java.sql.Date(sdf.parse(CertificatMed).getTime()); if(DateQualif1 != null) datequalif1 = new java.sql.Date(sdf.parse(DateQualif1).getTime()); if(Control != null) control = new java.sql.Date(sdf.parse(Control).getTime()); if(Immersion != null) immersion = new java.sql.Date(sdf.parse(Immersion).getTime()); if(Perfectionnement != null) perfectionnement = new java.sql.Date(sdf.parse(Perfectionnement).getTime()); // Initialisation Niveau Anglais if(Niveau != null) nivo = Integer.parseInt(Niveau); // Initialisation Niveau Anglais if(NumFormation != null) numform = Integer.parseInt(NumFormation); PreparedStatement pstmt = con.prepareStatement(reqInsert); pstmt.setString(1, Matricule); pstmt.setDate(2, certificatmed); pstmt.setDate(3, datequalif1); pstmt.setString(4, NomAgent); pstmt.setString(5, PrenomAgent); pstmt.setString(6, Sexe); pstmt.setDate(7, datenaissance); pstmt.setString(8, Nationalite); pstmt.setString(9, Fonction); pstmt.setDate(10, daterecrutement); pstmt.setInt(11, nivo); pstmt.setDate(12, dateretraite); pstmt.setInt(13, numform); pstmt.setDate(14, controlcompetence); pstmt.setDate(15, immersionanglais); pstmt.setDate(16, perfectionnement); pstmt.execute(); con.commit(); }// Fin InsertControleur
à l'execution j'ai 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
37
38
39
40
41
42
43
44
45 ... String Matricule = request.getParameter("matricule"); String Nom = request.getParameter("nomagent"); String Prenom = 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 DateRetraite = request.getParameter("dateretraite"); //Données de la formation initiale String FormInit = request.getParameter("forminit"); String Diplome = request.getParameter("diplome"); String DateDiplome = request.getParameter("datediplome"); String LieuFormation = request.getParameter("lieuformation"); String Etablissement = request.getParameter("etablissement"); //Données de la formation continue String Controle = request.getParameter("control"); String StagePerfect = request.getParameter("stageperfect"); String Immersion = request.getParameter("immersion"); // Requêtes d'insertion String NumForm; if(FormInit.equals("")) { fi.InsertFormationInitiale(Diplome, LieuFormation, DateDiplome, Etablissement); rs = stat.executeQuery("SELECT NUMFORMATION FROM FORMATIONINITIALE WHERE DIPLOME = "+Diplome); rs.next(); NumForm = rs.getString("NUMFORMATION"); } else NumForm = FormInit; co.InsertControleur(Matricule, CertificatMed, DateQualif1, Nom, Prenom, Sexe, DateNaissance, Nationalite, Fonction, DateRecrutement, Niveau, NumForm, DateRetraite, ControleCompetence, ImmersionAnglais, StagePerfect ); ...
Je ne comprend pas pourquoi et ça me bloque considerablement dans mon travaille!! quelequ'un peut il m'aider??
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-00904: "PERFECTIONNEMENT" : identificateur non valide org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781) org.apache.jsp.ajoutagentvalid_jsp._jspService(ajoutagentvalid_jsp.java:204) 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-00904: "PERFECTIONNEMENT" : identificateur non valide 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) gestionformation.Controleur.InsertControleur(Controleur.java:193) org.apache.jsp.ajoutagentvalid_jsp._jspService(ajoutagentvalid_jsp.java:175) 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)
Partager