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

 Oracle Discussion :

Problème insertion BDD Oracle


Sujet :

Oracle

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 Problème insertion BDD Oracle
    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.

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Et .. ?

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Par défaut
    Cette requête ne s'exécute pas, il me dit une erreur au niveau du executeQuery() donc j'en ai déduit que l'erreur vient de la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT COUNT(id_numero_Aff) AS nb,
           num_aff_seq.NEXTVAL AS id_insert,
           id_numero_Aff
      FROM numero_Aff
     WHERE num_affaire = ?;

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Par défaut
    Je sais bien que c'est un problème SQL mais je ne vois pas lequel.

  6. #6
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Il manque un group by.
    C'est exactement le cas qui est décrit dans le lien que j'ai mis.

Discussions similaires

  1. Problème insertion BDD
    Par supstoov dans le forum JDBC
    Réponses: 15
    Dernier message: 15/06/2011, 18h49
  2. problème insertion bdd
    Par hugo7 dans le forum VB.NET
    Réponses: 19
    Dernier message: 07/10/2009, 10h13
  3. [MySQL] Problème insertion bdd -> accent
    Par piero53 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 16/06/2009, 00h33
  4. [2.2.2] Problème connexion BDD Oracle JDBC
    Par BlueSky dans le forum BIRT
    Réponses: 6
    Dernier message: 12/03/2008, 15h22
  5. Problème Création BDD Oracle 9i
    Par artatnas dans le forum Installation
    Réponses: 1
    Dernier message: 27/07/2007, 13h40

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