Erreur requete....

justine75 Messages postés 49 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 29 décembre 2005 - 14 juin 2005 à 04:19
justine75 Messages postés 49 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 29 décembre 2005 - 14 juin 2005 à 18:50
coucou


voilà, apres avoir executer mon programe (en JAVA avec le pilote JDBC mais l'erreur est un erreur sql, c'est pk je viens ici ;)), qui est principalement basé sur une requete, une erreur s'affiche :
erreur JDBC : Column count doesn't match value count at row 1




("INSERT INTO client (num_client, nom, adresse, cp ,ville, telephone ,nbre_plan) VALUES ( '" + num.getText() + "'   '" + nom.getText() + "'   '" + adresse.getText() + "'   '" + cp.getText() + "'   '" + ville.getText() + "'  '" + tel.getText() + "'   '" + plan.getText() + "' )");





donc si quelqu'un pourrait me dire ce que cela signifie?


merci de votre aide

9 réponses

cs_tweeder Messages postés 172 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 19 juin 2009
14 juin 2005 à 05:16
Pourrais-tu nous envoyer la structure de ta table svp

Jonathan
0
justine75 Messages postés 49 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 29 décembre 2005
14 juin 2005 à 05:50
table client


num_client (varchar 10)


nom (varchar 20)


adresse (varchar20)


cp (varchar 5)


ville (varchar 20)


tel (varchar10)


nbre_plan (varchar 10)


à tout hasard, je te mets mon code java (si jamais tu t'y connais...)mais bon je sais pas trop à quoi mon problème est du




package com.insert.test;



import java.awt.event.*;
import java.sql.*;
import java.awt.*;
import javax.swing.JPanel;
import javax.swing.JOptionPane;
import javax.swing.*;



public class Inserer extends Frame implements ActionListener
{
    Component c;
    Container con;
    Frame f =   new Frame("exercice");
    TextField num = new TextField("Numero du client", 20);
    TextField nom = new TextField("Nom du client", 20);
    TextField adresse = new TextField("Adresse", 20);
    TextField cp = new TextField("Code postal", 20);
    TextField ville = new TextField("Ville", 20);
    TextField tel = new TextField("Telephone", 20);
    TextField plan = new TextField("Nombre de plan", 20);
    
    Label message = new Label();
    Button quitter = new Button ("QUITTER L'APPLICATION");
    Button inserer = new Button ("INSERER ");
    Panel panneau = new Panel();
         
    //quitter.addActionListener (new ListenerQuitter(this));
    //c.setColor (Color yellow);
   // con.setFont(Font Courier,Font.BOLD, 50);


public Inserer() {


        num.addActionListener(this);
        nom.addActionListener(this);
        adresse.addActionListener(this);
        cp.addActionListener(this);
        ville.addActionListener(this);
        tel.addActionListener(this);
        plan.addActionListener(this);
        inserer.addActionListener(this);
        
        num.selectAll(); // pour sélectionner le texte du champ
        nom.selectAll();
        adresse.selectAll();
        cp.selectAll();
        ville.selectAll();
        tel.selectAll();
        plan.selectAll();
        
        setLayout(new FlowLayout());
        add(num);
        add(nom);
        add(adresse);
        add(cp);
        add(ville);
        add(tel);
        add(plan);
        add(quitter);
        add(inserer);
        
        setBounds(40,60,300,200);
        setTitle("INSERER UN NOUVEAU CLIENT");
        setSize(300, 350);
        setVisible(true);
   // }
        //quitter.addWindowListener (new WindowAdapter()


       // public void windowClosing(WindowEvent e)
       // {
            //System.exit(0);
       // }
        //});



    }
   
public void actionPerformed(ActionEvent e) {
                if (e.getSource().equals(inserer))
               // if (e.getSource() == num)
               // if (e.getSource() == nom)
               // if (e.getSource() == adresse) 
                //if (e.getSource() == cp)
                //if (e.getSource() == ville)
                //if (e.getSource() == tel)
                //if (e.getSource() == plan)
                    
                {
                    


                    Connection con = null;
                    Statement instruction = null;
                    ResultSet resultat = null;


                    try {
                        Class.forName("com.mysql.jdbc.Driver");
                        con = DriverManager.getConnection(
                                "jdbc:mysql://localhost/techniclim",
                                "root", "");
                        instruction = con.createStatement();


                        int res = instruction.executeUpdate 
                                   ("INSERT INTO client (num_client, nom, adresse, cp ,ville, telephone ,nbre_plan) VALUES ( '" + num.getText() + "'   '" + nom.getText() + "'   '" + adresse.getText() + "'   '" + cp.getText() + "'   '" + ville.getText() + "'  '" + tel.getText() + "'   '" + plan.getText() + "' )");
            
                                
                        String num = "";
                        String nom = "";
                        String adresse = "";
                        String cp = "";
                        String ville = "";
                        String tel = "";
                        String plan = "";



              while (resultat.next()) {
             num += resultat.getString("num_client") + "";
             nom += resultat.getString("nom du client") + "";
              adresse += resultat.getString("adresse") + "";
              cp += resultat.getString("cp") + "";
              ville += resultat.getString("ville") + "";
              tel += resultat.getString("telephone") + "";
              plan += resultat.getString("nbre_plan") + "";



                        }
                         JOptionPane.showMessageDialog(null,
                                                       "<html>"
                +"<center>  Test
  
"
                +"\"
+\"----
<li>Test2</li>, \"
                +"
"
                +"</center>"
                +"</html>"); //"Client :"  + nom + " ajout&#233; avec succ&#232;s"); 
                                //"\u20ac");



                    } catch (ClassNotFoundException ex) {
                        JOptionPane.showMessageDialog(null,
                                "Classe introuvable" +
                                ex.getMessage());
                    } catch (SQLException ex) {
                        JOptionPane.showMessageDialog(null,
                                "erreur JDBC : " +
                                ex.getMessage());
                    } finally {
                        try {
                            if (resultat !  = null)
                                resultat.close();
                            if (con != null)
                                con.close();
                        } catch (SQLException ex) {
                            ex.printStackTrace();
                            System.exit(0);
                        }


                    }
                }
            }



            public static void main(String[] args) {
                Frame f = new Inserer();
            }
        }

merci
0
daffy17 Messages postés 106 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 22 avril 2010
14 juin 2005 à 09:34
Bonjour à toi.



Je ne suis pas très fort en Javascript mais là n'est pas le fait.

Je pense que ton erreur viens du fait que tu ne met pas de virgules
entre tes différents champs et donc la distinction des champs n'est pas
faite.(logique si tu distingue les champrs dans le INTO table (colonne1
, colonne2 ,...) fait le aussi dans le values



("INSERT INTO client (num_client, nom, adresse, cp ,ville, telephone
,nbre_plan) VALUES ( '" + num.getText() + "' , '" + nom.getText() +
"' , '" + adresse.getText() + "' , '" + cp.getText() + "' , '" +
ville.getText() + "' , '" + tel.getText() + "' , '" + plan.getText() +
"' )");


Ps: je te donne un conseil, si tu veux être sur de la requete, si tu à
une interface graphuique pour ta BdD (PhpMyAdmin par exemple), insert
manuellement un champs dans ta table et récupère la requéte ou bien
essaye d'inserer ta requete directement car ces interfaces t'indique "à
peu près" ou se trouvent yon erreur.



En ésperant que cela resoude ton probleme...


La programmation me permet de créer ma visualisation du monde sans être contraint par les idées de "grands hommes" qui ne voyent pas plus loin que leur porte-feuilles...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
14 juin 2005 à 09:44
Juste une parenthese pour dire que c'est du java, pas du javascript ;-)



Sinon oui, l'explication est la bonne.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
14 juin 2005 à 11:25
"

Juste une parenthese pour dire que c'est du java, pas du javascript ;-)"



L'erreur est courante :-)

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
daffy17 Messages postés 106 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 22 avril 2010
14 juin 2005 à 11:57
valide la reponse pour fermer le post

La programmation me permet de créer ma visualisation du monde sans être contraint par les idées de "grands hommes" qui ne voyent pas
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
14 juin 2005 à 12:01
Ouais, lol, et comprehensible quand on ne connait pas du tout java.
Parce que a mon avis, un fan de java a qui on dit que c'est comme javascript...il va le prendre mal lol.
0
daffy17 Messages postés 106 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 22 avril 2010
14 juin 2005 à 12:06
En fait je sais que c'est pas pareille (perso je fait pas de Java), mais c'est qu'en ce moment je me prend la tete sur du Javascript donc j'ai pas fait gaffe.

de créer ma visualisation du monde sans être contraint par les idées de "grands hommes" qui ne voyent pas plus loin que leur porte-feuilles
0
justine75 Messages postés 49 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 29 décembre 2005
14 juin 2005 à 18:50
salut!
j'avais donc oublié les virgules, le truc à la con...

bon ba maintenant j'ai des erreurs qui ne sont plus du ressort de ce site ;)

merci pour vos reponses !
0
Rejoignez-nous