Probleme d'ajout et message d'erreur

etudiantinformatique Messages postés 17 Date d'inscription samedi 28 février 2009 Statut Membre Dernière intervention 6 juin 2011 - 28 mai 2011 à 17:31
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 - 30 mai 2011 à 10:23
BONJOUR,

lors de d'exution de classe ce message est produit
svp qq1 m'expliqué ca

Sat May 28 12:47:56 CEST 2011 WARN: Invalid value {1} for server variable named {0}, falling back to sane default of {2}.
echec pilote : java.sql.SQLException: Column count doesn't match value count at row 1

*********************************************
et le table client

CREATE TABLE `client` (
`NumClient` int(11) NOT NULL default '0',
`NomClient` varchar(50) default NULL,
`PNomClient` varchar(50) default NULL,
`DateNaiss` varchar(150) default NULL,
`sexe` varchar(6) default NULL,
`Departement` varchar(50) default NULL





sachant que mon programme est comme suit
*****************************************

package InterfaceUtilisateur;



import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.JTextField;

public class NouveauClient
extends ClassMere
implements ActionListener {


private static Connection con;
private JTextField NumClient;

private JTextField NomClient;

private JTextField PNomClient;
private JTextField DateNaiss;


private JTextField sexe;

private JTextField Departement;







private NouveauClient fen1;

MonJLabel ce_lb; //label de la carte d'Personnel
MonJLabel nom_lb;
MonJLabel prenom_lb;
MonJLabel dn_lb;
MonJLabel sexe_lb;
MonJLabel depart_lb;
MonJLabel situation_lb;
MonJLabel departement_lb;





JButton ajouter, retour;

JPanel centre_pn, sud_pn; //les differents panel du frame

JOptionPane confirm;


//Constructeur
public NouveauClient() {

super("Nouveau Personnel", 450, 450);

//definir les champs du numero carte Personnel
ce_lb = new MonJLabel("Numero client:");
NumClient = new JTextField();


//definir les champs du nom
nom_lb = new MonJLabel("Nom:");
NomClient = new JTextField();

//definir les champs du prenom
prenom_lb = new MonJLabel("Prenom:");
PNomClient = new JTextField();

//definir les champs du date naissance
dn_lb = new MonJLabel("Date de Naissance:");
DateNaiss= new JTextField();


sexe_lb= new MonJLabel("Sexe");
sexe= new JTextField();

//definir les champs du departement
depart_lb = new MonJLabel("Département:");
Departement= new JTextField();




ajouter = new JButton("Ajouter");
ajouter.addActionListener(this);

retour = new JButton("Retour");
retour.addActionListener(this);

//** ajout des elements dans les panels

//ajout des chapms de saisie et labels dans le panel centre
centre_pn = new JPanel();
centre_pn.setLayout(new GridLayout(6,2));
centre_pn.add(ce_lb);
centre_pn.add(NumClient);
centre_pn.add(nom_lb);
centre_pn.add(NomClient);
centre_pn.add(prenom_lb);
centre_pn.add(PNomClient);
centre_pn.add(dn_lb);
centre_pn.add(DateNaiss);
centre_pn.add(sexe_lb);
centre_pn.add(sexe);
centre_pn.add(depart_lb);
centre_pn.add(Departement);


//ajout des bottons dans le panel sud
sud_pn = new JPanel();
sud_pn.add(ajouter, BorderLayout.PAGE_END);
sud_pn.add(retour, BorderLayout.PAGE_END);
//fin ajout dans le panel sud

//** ajout des panels dans la frame
getContentPane().add(centre_pn, BorderLayout.CENTER);
getContentPane().add(sud_pn, BorderLayout.SOUTH);

setResizable(false);
show();

}
public JTextField getNumClient() {

return NumClient;

}

public JTextField getNomClient() {

return NomClient;

}


public JTextField getPNomClient() {
return PNomClient;
}

public JTextField getsexe() {
return sexe;
}

public JTextField getDepartement() {
return Departement;
}


public JTextField getDateNaiss() {
return DateNaiss;
}






public static void getconnection()
throws SQLException
{
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Cnx oui");
}
String DBurl = "jdbc:mysql://127.0.0.1/assistancedistant";
con = DriverManager.getConnection(DBurl, "root", "");
}









public static void ajoutclient(String field, String field2, String field3, String field4, String field5, String field6 )
{

String pilote = "com.mysql.jdbc.Driver";



try{

Class.forName(pilote);



Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/assistancedistant","root","");



Statement instruction = connexion.createStatement();



int rs = instruction.executeUpdate("insert into client (NumClient,NomClient,PNomClient,DateNaiss,sexe,Departement) values('field','field2','field3','field4','field5')");



}

catch (Exception e){



System.out.println("echec pilote : "+e);

}


}

public void actionPerformed(ActionEvent ae) { //gere les evenements des buttons


if (ae.getSource() == retour) {
MenuPrincipale.F.enable();
dispose();
}
else if (ae.getSource() == ajouter) {
new BDConnect();

NouveauClient.ajoutclient(NumClient.getText(), NomClient.getText(), PNomClient.getText(),DateNaiss.getText(),sexe.getText(),Departement.getText()) ;

}
}
}

1 réponse

cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
30 mai 2011 à 10:23
Salut,

l'erreur est explicitement décrite dans le résumé de l'exception : le nombre de champs dans ton insert est incorrect. En effet :
(NumClient,NomClient,PNomClient,DateNaiss,sexe,Departement)

-> 6 champs qui attendent une valeur
('field','field2','field3','field4','field5')

-> seulement 5 valeurs définies
0
Rejoignez-nous