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

avec Java Discussion :

inserer automatiquement des données dans une table


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 13
    Points : 8
    Points
    8
    Par défaut inserer automatiquement des données dans une table
    bonjour le monde
    j'espose mon problème SVP aidé moi si quelqu'un à deja eu ce problème.
    je veux extraire des données dans deux table differente(Contrat,Soumissionnaire) et les inserer dans une troisième table(SuiviMarche) automatiquement à travers une interface graphique mais la requète ne m'insère pas mes données. je travail avec netbean et wampserver. merci d'avance
    voici le 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
     
    try {
             ResultSet rs = null; ResultSet  res = null;
            Connection cx = null;
     
            Statement st = null;
             Class.forName("com.mysql.jdbc.Driver");
             String url = "jdbc:mysql://localhost:3306/sonabd";
             cx = DriverManager.getConnection(url, "root", "");
     
             st = cx.createStatement();
             rs = st.executeQuery("SELECT C.codeContrat, C.annee, C.nomContrat, "
                     + "A.nomSoumissionnaire, C.montant, C.dtNotification, C.delaiExecution, C.dtLivraison "
                     + "FROM  Contrat C, Attributaire A "
                     + "WHERE C.codeContrat=A.codeContrat AND C.annee =A.annee");
                      while (rs.next()) {
                             st = cx.prepareStatement("INSERT INTO  suiviMarche(numOrdre, codeContrat, annee, nomContrat, attributaire, montant"
                             + "dtNotification, delaiExecution, dtLivraison, observation) values(2, '"+rs.getString(1)+"','"+rs.getString(2)+"',"
                             + "'"+rs.getString(3)+"', '"+rs.getString(4)+"', '"+rs.getString(5)+"', '"+rs.getString(6)+"', '"+rs.getString(7)+"', '"+rs.getString(8)+"'"
                             + "Null");
                               }
     
                } catch (Exception e) {
                throw new RuntimeException(e);
                                 }

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Pourquoi un coup tu fais executeQuery(), et un coup tu fais prepareStatement() ? Tu trouves que ça ressemble à une demande de faire quelque chose, ça, "prepare" ?

    Bon, sinon, pour information, tu n'échappes pas les paramètres de ta requête d'insertion, et ça peut poser problème.
    Il faut bel et bien utiliser les PreparedStatement, mais il faut le faire bien.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    merci bien pour le lien j'y jette un coup d'oeil mais je comprend pas très bien ce que vous voulez dire par"tu n'échappes pas les paramètres de ta requête d'insertion et ça peut poser problème"

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par niyio Voir le message
    merci bien pour le lien j'y jette un coup d'oeil mais je comprend pas très bien ce que vous voulez dire par"tu n'échappes pas les paramètres de ta requête d'insertion et ça peut poser problème"
    Supposons qu'il y ait une apostrophe ' dans la colonne nomContrat, par exemple. Il va se passer quoi ?

    C'est pour se protéger de ce genre de choses qu'on utilise les PreparedStatement : elles s'en occupent elles-mêmes.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    après avec lu le lien que tu m'a envoyé j'ai compris que je devais pas utiliser le preparedStatement. donc je l'ai changer en st.executeUpdate. corriger moi si je suis en erreur

  6. #6
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    avec le st.executeUpdate j'arrive à inserer
    merci bien à toi thelvin pour tes reponse.
    quand au cas des eventuelle "apostrophe dans les colonne" je vais gerer cela après

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par niyio Voir le message
    quand au cas des eventuelle "apostrophe dans les colonne" je vais gerer cela après
    Le lien que je t'ai donné t'expliquait comment le gérer dès maintenant et facilement -_-°.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [WD11] comment inserer automatiquement des colonnes dans une table
    Par incomparable dans le forum WinDev
    Réponses: 3
    Dernier message: 31/08/2009, 13h51
  2. [PDO] Inserer des données dans une table
    Par Dj_xXx dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/10/2008, 16h28
  3. [XI] Inserer des données dans une Table depuis CRXI
    Par jouberts dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 10/07/2007, 09h21
  4. [debutant]inserer des données dans une table
    Par khayate dans le forum VB.NET
    Réponses: 15
    Dernier message: 06/06/2007, 09h02
  5. Inserer des données dans une table access SQL
    Par ouellet5 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 23/11/2005, 21h11

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