Probleme d'ajout au table MySql

etudiantinformatique Messages postés 17 Date d'inscription samedi 28 février 2009 Statut Membre Dernière intervention 6 juin 2011 - 27 mai 2011 à 17:03
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 2 juin 2011 à 07:13
bonjour tous l'équipe
je fais mon pfe sur Java eclipse et BDD MySql
J'ai crée ce tabla 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

et je veut inserer dans ce table pour cela je fais ce code java avec un botton "ajouter "

public static void Ajoutclient(JTextField field, JTextField field2, JTextField field3, JTextField field4, JTextField field5, JTextField field6 )
{

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

Class.forName(pilote);
Connection connexion = DriverManager.getConnecltion("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);

}

****************************************************************************************************
le code de action performed d'ajouter


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


if (ae.getSource() == retour) {
MenuPrincipale.F.enable();
dispose();
}
else if (ae.getSource() == ajouter) {
NouveauClient vue = null;
NouveauClient.Ajoutclient(vue.getNumClient(), vue.getNomClient(), vue.getPNomClient(),vue.getDateNaiss(), vue.getsexe(),vue.getDepartement()) ;
System.out.println("client ajouté min sbe7777");
}
else if (ae.getSource() == annuler)
{ajouter_actionPerformed();}
}



qq1 me dire ce qu'est le probleme et merci bien

6 réponses

Utilisateur anonyme
27 mai 2011 à 18:56
En même temps il faudrait nous dire ce qui ne va pas pour qu'on puisse déterminer où ça coince !

Déjà, utilise les balises pour le code.
Et ensuite, ta méthode statique AjoutClient me parait complètement bancale.
Tu m'étonnes que ton programme ne tourne pas bien si tu passes des JTextFields entiers dans des requêtes -_-"

Mais des String à la place des JTextField dans l'en-tête de ta fonction AjoutClient. Et quand tu l’appelles, fait appel à la méthode getText() pour récupérer ce qui a été saisi.

P.S. : selon les normes Java, pas de majuscule dans la première lettre d'une méthode !


--
Pylouq (actuellement jongleur de clavier AZERTY et de clavier QWERTZ)
0
etudiantinformatique Messages postés 17 Date d'inscription samedi 28 février 2009 Statut Membre Dernière intervention 6 juin 2011
27 mai 2011 à 20:02
bon tt d'abord merci pour votre réponce
*******************************************
le type d'erreur ceci

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at InterfaceUtilisateur.NouveauClient.actionPerformed(NouveauClient.java:262)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
***********************************************
svp dite moi comment corriger avec getText sashant que le code est comme suit


*****************************************
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(JTextField field, JTextField field2, JTextField field3, JTextField field4, JTextField field5, JTextField 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) {
NouveauClient vue = null;
NouveauClient.Ajoutclient(vue.getNumClient(), vue.getNomClient(), vue.getPNomClient(),vue.getDateNaiss(), vue.getsexe(),vue.getDepartement()) ;
System.out.println("client ajouté min sbe7777");
}
else if (ae.getSource() == ajouter)
{ajouter_actionPerformed();}
}


****************************************************************************************************** merci bien freind
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
30 mai 2011 à 09:46
Si tu veux avoir un peu d'aide, fait un effort pour ne pas compliquer le travail de ceux qui te lisent.

Réduit la taille de ton code, et enleve les getters et setters, ne gardes que les fonctions qui sont cités dans la trace et utilises les balises "
" et "
" autour de ton code
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
30 mai 2011 à 09:46
oui, forcément, ca n'apparait pas, utilises ces balises :

[code=java]
//Et là, tapes ton code

/code
0

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

Posez votre question
Utilisateur anonyme
30 mai 2011 à 19:30
Si tu as une NullPointerException, cela signifie que tu as tenté d'utiliser un objet qui n'est pas instancié (null).

Voici ton erreur :
NouveauClient vue = null;
NouveauClient.Ajoutclient(vue.getNumClient(), vue.getNomClient(), vue.getPNomClient(),vue.getDateNaiss(), vue.getsexe(),vue.getDepartement()) ; 


Tu déclares un objet vue qui est null. Or, juste après tu fais appel à des méthodes à lui avec par exemple getNumClient. Comme l'objet est null, tu ne peux pas utiliser ses méthodes donc cela lève une exception.
Tu devrais instancier ton objet avec un new) par exemple.

Tu devrais faire vue.getNomClient().getText() pour récupérer la valeur saisie dans ton JTextField.
Mais avant, règle ton problème de NullPointerException.

--
Pylouq (actuellement jongleur de clavier AZERTY et de clavier QWERTZ)
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
2 juin 2011 à 07:13
Argggggggggggggg
Recommence tout ... c est trop moche... prend en compte tous ce qui a été écrit.
Et surtout, n'oublis pas que c'est du java, pourquoi ne pas faire de la POO?!!

GodConan ;o)
0
Rejoignez-nous