Partage
  • Partager sur Facebook
  • Partager sur Twitter

Java JDBC SQL erreur

Sujet résolu
    25 janvier 2015 à 20:36:00

    Bonjour,

    J'ai une SyntaxException que je ne trouve pas d'ou elle arrive.

    protected static final String FAIRE_POINTAGE_SQL   = "INSERT INTO " + TABLE_POINTAGE + " (pseudoEmploye, type, date, raison) VALUES(?, ?, ?, ?)" ;

    Voila toute la fonction :

       public void fairePointage(String pseudoEmploye, String type, String raison, Date date)
        {   
            String sql = "";
    
                try
                {
                    sql = FAIRE_POINTAGE_SQL;
                
                    PreparedStatement stm = connection.connexion.prepareStatement(sql);
                    stm.setString(1, pseudoEmploye);
                    stm.setString(2, type);
                    java.sql.Date sqlDate = new java.sql.Date(date.getTime());
                    stm.setDate(3, sqlDate);
                    stm.setString(4, raison);
                    
    	        stm.executeUpdate( sql );
                    connection.closeStatement(stm);
                    msg.messageInformatif("Votre pointage a été bien enregistré ", "Information");
    
                } catch ( Exception ex )
                {
                    msg.messageErreur("Une erreur est survenue lors du pointage", "Erreur");
                    System.out.println(ex);
                    System.out.println( "sql = " + sql );
                }
            
        }

    j'ai reçu l'erreur : 

    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?, ?, ?, ?)' at line 1

    sql = INSERT INTO Pointage (pseudoEmploye, type, date, raison) VALUES(?, ?, ?, ?)

    Le probleme c'est que je trouve pas ou est l'erreur syntaxique.

    Merci d'avance.



    • Partager sur Facebook
    • Partager sur Twitter
      25 janvier 2015 à 23:36:16

      Hahaha tu inverses date et raison :lol:
      • Partager sur Facebook
      • Partager sur Twitter
      Un homme azerty en vaut deux.
        25 janvier 2015 à 23:47:25

        Salut, non l'ordre ce n'est pas celui dans les parametres de la fonction, voici la table

         protected static final String[] TABLE_POINTAGE_SQL  =
                                                                { 
                                                                    "id int(11) auto_increment primary key",
                                                                    "pseudoEmploye varchar(255)",
                                                                    "type varchar(30)",
                                                                    "date datetime",
                                                                    "raison varchar(255)",
                                                                };



        • Partager sur Facebook
        • Partager sur Twitter
          26 janvier 2015 à 0:04:28

          C'est bon j'ai trouvé le probleme ma faute c'etait puis 

          PreparedStatement stm = connection.connexion.prepareStatement(sql);

          puis ce qui faut faut plutôt faut pas mettre sql comme argument 2 fois :'(

          stm.executeUpdate( sql );

          ce qui faut faut plutôt faut pas mettre sql comme argument 2 fois :'(

          stm.executeUpdate();

          • Partager sur Facebook
          • Partager sur Twitter

          Java JDBC SQL erreur

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown