Bonjour,

Je travaille sur une application en JSP où tout d'abord on saisi un formulaire pour ensuite insérer ses données dans une base de données Oracle et envoyer certaines données à une autre page.
Mais j'ai des problème au niveau de mes insertions.

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
54
55
56
57
58
<%
String chp_unite = request.getParameter("unite");
String chp_aff = request.getParameter("affaire");
String chp_ctv = request.getParameter("ctv");
 
Connection dbc = DriverManager.getConnection("jdbc:oracle:thin:@localhost.......",".....","......");
 
if (chp_unite != null && chp_aff != null && chp_ctv != null )
{
		int r_unite;
		String sqlUnite = "SELECT id_unite FROM unite WHERE nom_unite= ?";
		PreparedStatement pstmt_unite = dbc.prepareStatement(sqlUnite);
		pstmt_unite.setString(1, chp_unite);		
		ResultSet resultat_unite = pstmt_unite.executeQuery();
		if(resultat_unite.next()) {
			r_unite = resultat_unite.getInt("id_unite");
		}
		PreparedStatement pstmt_aff;
		pstmt_aff = dbc.prepareStatement("SELECT COUNT(id_numero_Aff) AS nb, num_aff_seq.NEXTVAL AS id_insert, id_numero_Aff FROM numero_Aff WHERE num_affaire = ?;");
		pstmt_aff.setString(1, chp_aff);		
		ResultSet resultat_affaire = pstmt_aff.executeQuery();		
		int r_affaire = -1;
		if(resultat_affaire.next()) {
			if(resultat_affaire.getInt("nb") == 0) {
				r_affaire = resultat_affaire.getInt("id_insert");
				pstmt_aff = dbc.prepareStatement("INSERT INTO numero_Aff (id_numero_Aff, num_affaire) VALUES (" + r_affaire + ", ?);");			
				pstmt_aff.setString(1, chp_aff);
				pstmt_aff.executeUpdate();
			}
			else {
				r_affaire = resultat_affaire.getInt("id_numero_Aff");
			}
		}
 
		PreparedStatement pstmt_fouille;
		pstmt_fouille = dbc.prepareStatement("SELECT COUNT(id_fouille) AS nb, fouille_seq.NEXTVAL AS id_insert, id_fouille FROM numero_Aff WHERE num_ctv = ?;");
		pstmt_fouille.setString(1, chp_ctv);		
		ResultSet resultat_fouille = pstmt_fouille.executeQuery();		
		int r_fouille = -1;
		if(resultat_fouille.next()) {
			if(resultat_fouille.getInt("nb") == 0) {
				r_fouille = resultat_fouille.getInt("id_insert");
				pstmt_fouille = dbc.prepareStatement("INSERT INTO fouille (id_fouille, num_ctv, id_ccs, id_date_deb_travaux , id_date_ferm_fouille, id_date_ouv_fouille, id_resp, id_numAdr, id_type_voie, id_nom_voie, id_CP, id_unite, id_numero_Aff, id_libelle_incident, id_entreprise, id_decompte) VALUES (" + r_fouille + ", ?,"+r_ccs+"," + r_debTrav + "," + r_finTrav + "," + r_ouvFouille + "," + r_nomResp + "," + r_numAdr + "," + r_typeVoie + "," + r_nomVoie + "," + r_CP + "," + r_unite + "," + r_affaire + "," + r_libelle + "," + r_nomEntreprise + ",'');");		
				pstmt_fouille.setString(1, chp_ctv);
				pstmt_fouille.executeUpdate();
			}
			else {
				r_fouille = resultat_fouille.getInt("id_fouille");
			}
		}
}
dbc.close();
%>
<jsp:forward page="provPonctuel.jsp">
       	<jsp:param value="<%=champUnite%>" name="unite"/>
       	<jsp:param value="<%=champAff%>" name="affaire"/>
       	<jsp:param value="<%=champCTV%>" name="ctv"/> 
</jsp:forward>
Merci d'avance.