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 :

formulaire + insertion BDD + envoie information autre page


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Par défaut formulaire + insertion BDD + envoie information autre page
    Bonjour,

    J'ai une page formulaire.jsp, des qu'on appuie sur le bouton de validation, cela fait appel a ma page traitement.jsp.

    Voici mon code de cette page:

    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
     
    	String chp_unite = request.getParameter("unite");
    	String chp_aff = request.getParameter("affaire");
    	String chp_nomResp = request.getParameter("nomResp");
    	String chp_telResp = request.getParameter("telResp");
    	String chp_ctv = request.getParameter("ctv");
     
    	Connection dbc = DriverManager.getConnection("jdbc:oracle:thin:@localhost.......",".....","......");
     
    	if (chp_unite == null)
    		out.print("Veuillez saisir une unité");
    	else{
    		int r_unite;
    		String sqlUnite = "SELECT id_unite FROM unite WHERE nom_unite= ?";
    		PreparedStatement pstmt = dbc.prepareStatement(sqlUnite);
    		pstmt.setString(1, chp_unite);		
    		ResultSet resultat_unite = pstmt.executeQuery();
    		if(resultat_unite.next()) {
    			r_unite = resultat_unite.getInt("id_unite");
    		}
     
    	}
    	if (chp_aff == null)
    		out.print("Veuillez saisir un numéro d'affaire");	
    	else{
    		PreparedStatement pstmt;
    		pstmt = dbc.prepareStatement("SELECT COUNT(id_numero_Aff) AS nb FROM numero_Aff WHERE num_affaire = ?;");
    		pstmt.setString(1, chp_aff);		
    		ResultSet resultat_affaire = pstmt.executeQuery();
    		if(resultat_affaire.next()) {
    			int nb = resultat_affaire.getInt("nb");
    			if(nb == 0) {
    				pstmt = dbc.prepareStatement("INSERT INTO numero_Aff (id_numero_Aff, num_affaire) VALUES (num_aff_seq.NEXTVAL, ?);");			
    				pstmt.setString(1, chp_aff);
    				pstmt.executeUpdate();
    			}
    			else{
    				pstmt = dbc.prepareStatement("SELECT id_numero_Aff FROM numero_Aff WHERE num_affaire =?");
    				resultat_affaire = pstmt.executeQuery();
    				if(resultat_affaire.next()) {
    					int r_affaire = resultat_affaire.getInt("id_numero_Aff");
    				}
    			}
    		}
    	}
    	if (chp_nomResp == null)
    		out.print("Veuillez saisir un responsable");
    	else{
    		int r_nomResp;
    		String sqlnomResp = "SELECT id_resp FROM resp_chantier WHERE nom_prenom_res=?";
    		PreparedStatement pstmt = dbc.prepareStatement(sqlnomResp);
    		pstmt.setString(1, chp_nomResp);
    		ResultSet resultat_nomResp = pstmt.executeQuery();
    		if(resultat_nomResp.next()) {
    			r_nomResp = resultat_nomResp.getInt("id_resp");
    		}
    	}
    	if (chp_telResp == null)
    		out.print("Veuillez saisir un responsable");
    	if (chp_ctv == null)
    		out.print("Veuillez saisir un numéro CTV");
    	else{
    		PreparedStatement pstmt;
    		pstmt = dbc.prepareStatement("SELECT COUNT(id_fouille) AS nb FROM fouille WHERE num_ctv = ?;");
    		pstmt.setString(1, chp_ctv);		
    		ResultSet resultat_fouille = pstmt.executeQuery();
    		if(resultat_fouille.next()) {
    			int nb = resultat_fouille.getInt("nb");
    			if(nb == 0) {
    				pstmt = dbc.prepareStatement("INSERT INTO fouille (id_fouille, num_ctv, id_resp, id_unite, id_numero_Aff, id_entreprise) VALUES (fouille_seq.NEXTVAL, ?,"+r_ccs+","+r_nomResp+","+r_unite+",num_aff_seq.CURRVAL,"+r_nomEntreprise+");");			
    				pstmt.setString(1, chp_ctv);
    				pstmt.executeUpdate();
    			}
    			else{
    				pstmt = dbc.prepareStatement("SELECT id_fouille FROM fouille WHERE num_ctv =?");
    				resultat_fouille = pstmt.executeQuery();
    				if(resultat_fouille.next()) {
    					int 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>
    Je vois pas pourquoi cela ne fonctionne pas. La page traitement permet de récupérer tous les champs saisie dans la page formulaire. En fonction de cela, je rentre dans mes différentes tables de ma base de données. Et le bout de code a la fin permet d'envoyer les valeurs a la page provPonctuel.jsp. Mais mes insertions me pose probleme. Si quelqu'un pourrai m'aider

    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Par défaut
    Je vois pas pourquoi mes insertion ne fonctionne pas

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Par défaut
    J'ai changer mon code, je n'ai plus d'erreur au niveau de mes insertions mais maintenant c'est au niveau de mes jsp:param car il n'aime pas ce que je met dans le value, je comprend pas pourquoi

    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
     
    <%
    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>

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Par défaut
    Personne peut m'aider et me dire pourquoi mes insertions ne s'effectuent pas?

Discussions similaires

  1. [AJAX] Formulaire insertion BDD array et retour ajax
    Par jimmo dans le forum jQuery
    Réponses: 1
    Dernier message: 20/01/2015, 08h29
  2. [PHP 5.4] Envoi de formulaire et utilisation dans une autre page
    Par cristelle1986 dans le forum Langage
    Réponses: 3
    Dernier message: 01/07/2014, 11h19
  3. Formulaire qui n'envoie qu'une page blanche
    Par Skenja dans le forum Langage
    Réponses: 2
    Dernier message: 19/10/2012, 14h12
  4. Validation formulaire ET renvoi vers autre page
    Par mosquitout dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/11/2005, 20h29

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