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

JDBC Java Discussion :

Insertion dans une base de donnée MYSQL !


Sujet :

JDBC Java

  1. #1
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut Insertion dans une base de donnée MYSQL !
    Salut tout le monde,
    J'ai créé une base de données avec MYSQL et je suis parvenu à afficher les tables via ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    try{
        Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/test","root","root");
        Statement instruction = connexion.createStatement();    
            ResultSet résultat = instruction.executeQuery("SELECT * FROM personne");
        while (résultat.next())
        {
           System.out.println("Nom : "+ résultat.getString("Nom"));
        }
     
        }
        catch(SQLException e){}
    mais le problème c'est que quand j'essaie d'insérer une ligne dans la table ça ne marche pas.
    Il n'y a pas d'erreur générée et l'affichage ne marche plus.

    Voila le code de l'insertion:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    instruction.executeQuery("INSERT INTO personne"+ "(idPersonne,Nom,Prenom,Civilite,age)"
    +"VALUES(3,Lee,Henry,Monsieur,23)");
    Est ce que quelqu'un a une idée ?
    Merci d'avance.
    The great glory is not in never falling but in rising every time we fall.

  2. #2
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2006
    Messages : 74
    Points : 90
    Points
    90
    Par défaut
    il faudrait peut avoir ceci pour qu'il affiche une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    try{
        Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/test","root","root");
        Statement instruction = connexion.createStatement();    
            ResultSet résultat = instruction.executeQuery("SELECT * FROM personne");
        while (résultat.next())
        {
           System.out.println("Nom : "+ résultat.getString("Nom"));
        }
      
        }
        catch(SQLException e){
    e.printStackTrace();
    }
    tiens nous au courant ensuite

  3. #3
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par condor_01
    Il n'y a pas d'erreur générée et l'affichage ne marche plus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        catch(SQLException e){}
    Tiens donc c'est bizarre !!! Tu ignores complètement les exceptions et tu n'as pas de message d'erreur...

    Les blocs catch vide devraient être interdit !!!! Avec ceci tu aurais déjà plus d'info :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        catch(SQLException e) {
            e.printStackTrace();
    }
    Sinon ta requête SQL ne me semble pas bonne (pas de quote autour des chaines), et tu ne fermes pas proprement tes ressources... un peu de lecture : http://www.developpez.net/forums/sho...4&postcount=69

    a++

  4. #4
    Membre éclairé Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Points : 861
    Points
    861
    Par défaut
    accessoirement il manque un espace là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "(idPersonne,Nom,Prenom,Civilite,age)_"
    Ignorer c'est aussi croire que l'on sait.
    Merci d'essayer d'écrire correctement.
    Pas de questions techniques par MP SVP.

  5. #5
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut
    Voila l'erreur générée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
     
    	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
     
    	at com.mysql.jdbc.Statement.checkForDml(Statement.java:398)
     
    	at com.mysql.jdbc.Statement.executeQuery(Statement.java:1075)
     
    	at fichier1.Fichier.main(Fichier.java:32)
    Merci.
    The great glory is not in never falling but in rising every time we fall.

  6. #6
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    javadoc !!


    c'est executeUpdate() pour les INSERT, DELETE, UPDATE
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  7. #7
    Membre éclairé Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Points : 861
    Points
    861
    Par défaut
    sinon utilise des PreparedStatement au lieu des Statement, c'est plus propre, surtout quand tu insères des chaînes de caractère
    Ignorer c'est aussi croire que l'on sait.
    Merci d'essayer d'écrire correctement.
    Pas de questions techniques par MP SVP.

  8. #8
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut
    Je suis vraiement désolé pour cette betise.
    J'ai réglé le problème.
    Merci et excusez moi encore.
    Je suis novice en java et je suis en train d'apprendre grâce à votre aide.
    The great glory is not in never falling but in rising every time we fall.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PDO] Insertion dans une base de données mysql
    Par eketec dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/02/2014, 17h11
  2. Réponses: 2
    Dernier message: 02/09/2010, 09h59
  3. Réponses: 1
    Dernier message: 07/08/2010, 12h55
  4. [HTML] Probleme d'insertion HTML dans une base de données MySQL
    Par tarzanjane dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 28/09/2006, 12h12

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