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 :

Problème INSERT INTO Java


Sujet :

JDBC Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Problème INSERT INTO Java
    Bonjour à tous,
    Etudiant en DUT Informatique, j'ai un soucis avec Java et MySQL, je dois faire un INSERT INTO dans ma table MySQL mais depuis quelque temps je bloque sur une erreur qui m'empêche d'avancer.
    Voici l'erreur :
    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
    java.sql.SQLException: Column count doesn't match value count at row 1
    	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
    	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
    	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
    	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
    	at com.mysql.jdbc.Connection.execSQL(Connection.java:3277)
    	at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1402)
    	at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1317)
    	at com.music.UserDAO.ajouter(UserDAO.java:21)
    	at com.music.Registration.doPost(Registration.java:101)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    Je sais que cette erreur correspond en gros a : "Vous avez 7 colonnes dans votre Table et vous n'avez pas rentré 7 valeurs"
    Mon soucis est que j'ai belle et bien rentré 7 valeurs pourtant Java continue de me mettre l'erreur.
    Voici ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PreparedStatement requete = ConnectionManager.connection.prepareStatement("INSERT INTO Client(Nom,Prenom,Adresse,Ville,CodeP,Mail,mdp) "
    		+ " VALUES ('TestN', 'TestP', 'TestA', 'TestV', 'TestC', 'TestM', 'TestMdp')");
    Voilà si vous avez besoin de précision sur mon projet ou besoin d'autre bout de code pour comprendre, je vous les donnerai.
    En tout cas merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Salut,
    Je déplore une mauvaise utilisation de la classe PreparedStatement. Même s'il s'agit des données d'exemple ou test, passer par les méthodes d'instances de cette classe semble être plus pratique.

    Et si tu faisais ça:

    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
     
    try(PreparedStatement ps = con.prepareStatement( "INSERT INTO Client (Nom,Prenom,Adresse,Ville,CodeP,Mail,mdp) VALUES (?,?,?,?,?,?,?)")) {
       ps.setString(1, " unNom");
       ps.setString(2, " unPreNom");
       ps.setString(3, " une adresse");
       ps.setString(4, "ville");
       ps.setString(5, "codeP");
       ps.setString(6, "mail");
       ps.setString(7, " mpd");
     
       ps.executeUpdate();
     
    }catch(Exception e){
       e.printStackTrace();
    }
    Ne me tiens pas trop rigueur s'il y a une erreur de syntaxe dans le code. Je réponds avec mon phone donc loin de mon IDE. lol

    Christian,
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

Discussions similaires

  1. [A-03] Problème insert into et date
    Par thierrybatlle dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/10/2008, 08h17
  2. problème INSERT INTO C#/Access
    Par jerome71300 dans le forum Accès aux données
    Réponses: 8
    Dernier message: 18/08/2008, 13h34
  3. Probléme Insert into
    Par dellys2 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/02/2007, 10h46
  4. [Requête] Problème INSERT INTO
    Par lerico dans le forum Requêtes et SQL.
    Réponses: 22
    Dernier message: 10/01/2006, 17h12
  5. [debutant][Applet] problèmes insertion applet java
    Par mlequim dans le forum Applets
    Réponses: 5
    Dernier message: 11/07/2005, 09h50

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