Ajouter un enregistrement

Résolu
massbbc Messages postés 126 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 24 février 2022 - 5 janv. 2009 à 16:28
massbbc Messages postés 126 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 24 février 2022 - 13 janv. 2009 à 12:03
Salut ! je suis débutant en javant et jaimerais pouvoir ajouter des enregistrement dans mabase de donnée.

Mon problème c'est que lorsque j'exécute mon code jai des érreurs
Erreurs:
Exception

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

    at devlog.AjoutP.ajouterClient(AjoutP.java:129)

    at devlog.AjoutP.actionPerformed(AjoutP.java:89)

    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)

Merci de m'apporter votre aide

Voici mon code en dessous:


package log;


import java.awt.*;

import javax.swing.*;

import javax.swing.JComboBox;

import java.awt.event.*;

import java.sql.*;

import java.io.*;

public class AjoutP extends JFrame implements ActionListener {

JTextField txtrefP,txtNProd,txtqt,txtNomFour,txtcat,txtadr,txtTel,txtmont,txtmoy;

JButton btnAjout,btnEffacer,btnFermer;

public static void main(String[]args)

{

AjoutP frame=new AjoutP();


}

public AjoutP()

{

Container c=this.getContentPane();

c.setLayout(new GridLayout(3,5));

JPanel panelcentre=new JPanel(new GridLayout(9,2));

JPanel panelbas=new JPanel(new FlowLayout());

JLabel titre=new JLabel("",SwingConstants.RIGHT);

titre.setForeground(Color.red);

titre.setFont(new Font("TimesRoman",Font.ITALIC,25));

titre.setText("FIRST APPLICATION JAVA CORP.");

c.add(titre);

//zone de saisie pour le nom l'adresse et le telephone

txtrefP=new JTextField();

txtNProd=new JTextField();

txtqt=new JTextField();

txtNomFour=new JTextField();

txtcat=new JTextField();

txtadr=new JTextField();

txtTel=new JTextField();

txtmont=new JTextField();

Object[] pai= {"Chèque bancaire", "Espèce","Carte bleu", "Chèques"};

JComboBox txtmoy = new JComboBox(pai);

//ajout des etiquettes et des zones de saisie au panel

panelcentre.add(new JLabel("REFERENCE PRODUIT :",SwingConstants.RIGHT));

panelcentre.add(txtrefP);

panelcentre.add(new JLabel("NOM PRODUIT :",SwingConstants.RIGHT));

panelcentre.add(txtNProd);

panelcentre.add(new JLabel("QUANTIE :",SwingConstants.RIGHT));

panelcentre.add(txtqt);

panelcentre.add(new JLabel("CATEGORIE :",SwingConstants.RIGHT));

panelcentre.add(txtcat);

panelcentre.add(new JLabel("NOM FOURNISSEUR :",SwingConstants.RIGHT));

panelcentre.add(txtNomFour);

panelcentre.add(new JLabel("ADRESSE :",SwingConstants.RIGHT));

panelcentre.add(txtadr);

panelcentre.add(new JLabel("TELEPHONE :",SwingConstants.RIGHT));

panelcentre.add(txtTel);

panelcentre.add(new JLabel("MONTANT :",SwingConstants.RIGHT));

panelcentre.add(txtmont);

panelcentre.add(new JLabel("MOYEN :",SwingConstants.RIGHT));

panelcentre.add(txtmoy);

c.add(panelcentre);

//creer et ajoutter des boutons au panel de bas

btnAjout=new JButton("Ajouter");

btnEffacer=new JButton("Effacer");

btnFermer=new JButton("Fermer");

panelbas.add(btnAjout);

panelbas.add(btnEffacer);

panelbas.add(btnFermer);

c.add(panelbas);

//enregistrer le frame comme auditeur de bouton

btnAjout.addActionListener(this);

btnEffacer.addActionListener(this);

btnFermer.addActionListener(this);

this.setSize(550,600);

this.setTitle("AJOUT DE PRODUIT");

this.setVisible(true);

//creer une classe anonyme pour gerer la fermeture de la fenetre

this.addWindowListener(new WindowAdapter()

{

public void windoClosing(WindowEvent ev)

{

fermerFormulaire();

}

}

);

}//fin du constructeur

public void actionPerformed(ActionEvent e)

{

//déterminer si on cliqué sur un bouton

if(e.getSource()==btnAjout)

{

ajouterClient();


}

if(e.getSource()==btnEffacer)

{effacerFormulaire();}

if(e.getSource()==btnFermer)

{fermerFormulaire();}

}

//ajout

private void ajouterClient()

{

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

Connection con = null;

try {

String refProd,NomProd,Quant,categorie,NomFour,adressLivr,Tel,montCommande,moyPaiement;

refProd=txtrefP.getText();

NomProd=txtNProd.getText();

Quant=txtqt.getText();

NomFour=txtNomFour.getText();

categorie=txtcat.getText();

NomFour=txtNomFour.getText();

adressLivr=txtadr.getText();

Tel=txtTel.getText();

montCommande=txtmont.getText();

moyPaiement=txtmoy.getSelectedText();


System.out.println(refProd+" "+NomProd+" "+Quant+""+categorie+""+NomFour+" "+adressLivr+""+Tel+""+montCommande+""+moyPaiement);

Class.forName(url);


con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/gestion","root","");


//insertion

Statement s = con.createStatement();

String str = "INSERT INTO produi (refProd, NomProd ,Quant ,categorie
,NomFour, adressLivr, Tel,montCommande,moyPaiement) VALUES
('"+txtrefP.getText()+"','"+txtNProd.getText()+"','"+txtqt.getText()+"','"+txtcat.getText()+"','"+txtNomFour.getText()+"','"+txtadr.getText()+"','"+txtTel.getText()+"','"+txtmont.getText()+"','"+txtmoy.getSelectedText()+"')"
;

s.executeUpdate(str);

System.out.println(str+" ligne insérée");

JOptionPane.showMessageDialog(this,"ajouté");

con.close() ;

}catch(Exception e) {System.out.println("Exception");}

finally {

try {con.close();}

catch(SQLException e) {e.printStackTrace();}

}

effacerFormulaire();

}

//effacer

private void effacerFormulaire()

{


txtrefP.setText("");

txtNProd.setText("");

txtqt.setText("");

txtNomFour.setText("");

txtcat.setText("");

txtNomFour.setText("");

txtadr.setText("");

txtTel.setText("");

txtmont.setText("");


}


//fermer

public void fermerFormulaire()

{

this.setVisible(false);

System.exit(0);

}

}

19 réponses

dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
6 janv. 2009 à 10:26
Salut,

ben écoutes, suis le message d'erreur... Vas à la ligne 129 indiquée et regarde quelle variable est à NULL et essaie de résoudre à partir de là... non?

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
3
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
9 janv. 2009 à 19:17
Alors bon... Regarde le message d'erreur... Ca t'a pas aidé?

Column count doesn't match value count

Ca veut donc dire que tu essais de faire un Insert avec le mauvais nombre d'arguments!
Genre, une table avec 2 arguments, tu essais d'essayer d'insérer 3 arguments...

Revois ta requête.
3
massbbc Messages postés 126 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 24 février 2022 1
6 janv. 2009 à 13:01
Merci pour ton conseil.
Je narrive pas à récupérer les valeurs de mon combo box pour inseré dans ma base de donnée.
Commen faire
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
6 janv. 2009 à 14:05
Ben dejà ton JComboBox tu ne l'as déclaré que dans ton constructeur.... donc dans les autres méthodes tu n'y auras pas accès.


Tu dois déclarer ton JComboBox comme tes JTextField tout simplement.


Et ensuite, pour récupérer la valeur qui est sélectionné, je te laisse aller chercher dans la javadoc :



http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JComboBox.html



Il existe une méthode qui te permettra de récupérer ce que tu veux.





<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0

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

Posez votre question
massbbc Messages postés 126 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 24 février 2022 1
6 janv. 2009 à 16:35
Merci bocou pour ton aide.
Jai fait come tu me le demandé mais kan je click sur mon bouton ! les valeurs saisie sont affiché dans ma console mais ne figure pas dans ma base de donnée.
Voici un exemple:
referen1 produit1 gt1categorie1fournisseur1 adresse11111111115410000 Chèque bancaire
Exception

Voici mon code :
package log;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
import java.io.*;
public class AjoutP extends JFrame implements ActionListener {
JTextField txtrefP,txtNProd,txtqt,txtNomFour,txtcat,txtadr,txtTel,txtmont;
Object[] pai= {"Chèque bancaire", "Espèce","Carte bleu", "Chèques"};
JComboBox txtmoy = new JComboBox(pai);
JButton btnAjout,btnEffacer,btnFermer;
public static void main(String[]args)
{
AjoutP frame=new AjoutP();

}
public AjoutP()
{
Container c=this.getContentPane();
c.setLayout(new GridLayout(3,5));
JPanel panelcentre=new JPanel(new GridLayout(9,2));
JPanel panelbas=new JPanel(new FlowLayout());
JLabel titre=new JLabel("",SwingConstants.RIGHT);
titre.setForeground(Color.red);
titre.setFont(new Font("TimesRoman",Font.ITALIC,25));
titre.setText("FIRST APPLICATION JAVA CORP.");
c.add(titre);
//zone de saisie pour le nom l'adresse et le telephone
txtrefP=new JTextField();
txtNProd=new JTextField();
txtqt=new JTextField();
txtNomFour=new JTextField();
txtcat=new JTextField();
txtadr=new JTextField();
txtTel=new JTextField();
txtmont=new JTextField();
//Object[] pai= {"Chèque bancaire", "Espèce","Carte bleu", "Chèques"};
//JComboBox txtmoy = new JComboBox(pai);
//ajout des etiquettes et des zones de saisie au panel
panelcentre.add(new JLabel("REFERENCE PRODUIT :",SwingConstants.RIGHT));
panelcentre.add(txtrefP);
panelcentre.add(new JLabel("NOM PRODUIT :",SwingConstants.RIGHT));
panelcentre.add(txtNProd);
panelcentre.add(new JLabel("QUANTITE :",SwingConstants.RIGHT));
panelcentre.add(txtqt);
panelcentre.add(new JLabel("CATEGORIE :",SwingConstants.RIGHT));
panelcentre.add(txtcat);
panelcentre.add(new JLabel("NOM FOURNISSEUR :",SwingConstants.RIGHT));
panelcentre.add(txtNomFour);
panelcentre.add(new JLabel("ADRESSE :",SwingConstants.RIGHT));
panelcentre.add(txtadr);
panelcentre.add(new JLabel("TELEPHONE :",SwingConstants.RIGHT));
panelcentre.add(txtTel);
panelcentre.add(new JLabel("MONTANT :",SwingConstants.RIGHT));
panelcentre.add(txtmont);
panelcentre.add(new JLabel("MOYEN :",SwingConstants.RIGHT));
panelcentre.add(txtmoy);
c.add(panelcentre);

//creer et ajoutter des boutons au panel de bas
btnAjout=new JButton("Ajouter");
btnEffacer=new JButton("Effacer");
btnFermer=new JButton("Fermer");
panelbas.add(btnAjout);
panelbas.add(btnEffacer);
panelbas.add(btnFermer);
c.add(panelbas);

//enregistrer le frame comme auditeur de bouton
btnAjout.addActionListener(this);
btnEffacer.addActionListener(this);
btnFermer.addActionListener(this);
this.setSize(550,600);
this.setTitle("AJOUT DE PRODUIT");
this.setVisible(true);
//creer une classe anonyme pour gerer la fermeture de la fenetre
this.addWindowListener(new WindowAdapter()
{
public void windoClosing(WindowEvent ev)
{
fermerFormulaire();
}
}
);
}//fin du constructeur
public void actionPerformed(ActionEvent e)
{
//déterminer si on cliqué sur un bouton
if(e.getSource()==btnAjout)
{
ajouterClient();

}
if(e.getSource()==btnEffacer)
{effacerFormulaire();}
if(e.getSource()==btnFermer)
{fermerFormulaire();}
}
//ajout
private void ajouterClient()
{
String url = "com.mysql.jdbc.Driver";
Connection con = null;
try {
String refProd,NomProd,Quant,categorie,NomFour,adressLivr,Tel,montCommande;
Object moyPaiement;

refProd=txtrefP.getText();
NomProd=txtNProd.getText();
Quant=txtqt.getText();
NomFour=txtNomFour.getText();
categorie=txtcat.getText();
NomFour=txtNomFour.getText();
adressLivr=txtadr.getText();
Tel=txtTel.getText();
montCommande=txtmont.getText();
moyPaiement=txtmoy.getSelectedItem();

System.out.println(refProd+" "+NomProd+" "+Quant+""+categorie+""+NomFour+" "+adressLivr+""+Tel+""+montCommande+" "+moyPaiement);
Class.forName(url);
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/gestion","root","");

//insertion
Statement s = con.createStatement();
String str = "INSERT INTO produi (refProd, NomProd ,Quant ,categorie ,NomFour, adressLivr, Tel,montCommande) VALUES ('"+txtrefP.getText()+"','"+txtNProd.getText()+"','"+txtqt.getText()+"','"+txtcat.getText()+"','"+txtNomFour.getText()+"','"+txtadr.getText()+"','"+txtTel.getText()+"','"+txtmont.getText()+"','"+txtmoy.getSelectedItem()+"')";
s.executeUpdate(str);
System.out.println(str+" ligne insérée");
JOptionPane.showMessageDialog(this,"ajouté");
con.close() ;
}catch(Exception e) {System.out.println("Exception");}
finally {
try {con.close();}
catch(SQLException e) {e.printStackTrace();}
}
effacerFormulaire();
}
//effacer
private void effacerFormulaire()
{

txtrefP.setText("");
txtNProd.setText("");
txtqt.setText("");
txtNomFour.setText("");
txtcat.setText("");
txtNomFour.setText("");
txtadr.setText("");
txtTel.setText("");
txtmont.setText("");

}

//fermer
public void fermerFormulaire()
{
this.dispose();
}
}
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
6 janv. 2009 à 17:22
Bon tu comprendras que je n'ai pas lu ce bloc de mots....
Si les valeurs que tu saisis ne vont pas dans la base de données, c'est que tu as sois une erreur de connexion à la BDD ou de ta requête. Tu as un message d'erreur?

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
massbbc Messages postés 126 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 24 février 2022 1
6 janv. 2009 à 18:20
Voici les vbaleurs que jai saisie:
Voici un exemple: reference: referen1 Produit: produit1 Categorie: gt1categorie1fournisseur1 Adresse: adresse Tel:1111111111 Montant: 5410000 Moyen: Chèque bancaire

ERREUR OBTENUE:
Exception
Et je ne retrouve pas ses données dans ma base de données
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
7 janv. 2009 à 09:03
... Je refais un fois voir si ça va mieux.
As tu un message d'erreur dans ton programme?

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
massbbc Messages postés 126 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 24 février 2022 1
7 janv. 2009 à 16:11
non je nai aucune erreur et c'est ce qui me parrait bizarre...
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
7 janv. 2009 à 16:37
Affiche ta variable str dans laquelle il y a toute la requete "INSERT INTO................."


Et vérifie bien que cette requete soit bien formée, et à la limite, copies colles cette requette dans mysql query pour voir si ça passe.





<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
massbbc Messages postés 126 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 24 février 2022 1
8 janv. 2009 à 12:08
Ma requête passe sans problème.
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
8 janv. 2009 à 14:56
Et tu reçois ton JOptionPane avec marqué "ajouté" ???

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
massbbc Messages postés 126 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 24 février 2022 1
8 janv. 2009 à 15:52
Lorque j'utilise ma requête sans "JOptionPane" avec mysql, ma requête affiche bien "ajouté"!
Mais avec JOptionPane il met "exception" au lieu de "Ajouté"
Merci
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
8 janv. 2009 à 16:20
Bon...
tu seras d'accord avec moi, d'afficher "Exception", c'est un peu inutile....

Remplaces ton System.out.println("exception"); par
e.printStackTrace()

Et mets nous ce que ça te met comme erreur

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
massbbc Messages postés 126 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 24 février 2022 1
9 janv. 2009 à 19:02
Voici les erreurs:
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 devlog.AjoutP.ajouterClient(AjoutP.java:128)
at devlog.AjoutP.actionPerformed(AjoutP.java:92)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
0
massbbc Messages postés 126 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 24 février 2022 1
12 janv. 2009 à 19:07
OK je teste et je tenvoie le resultat demain !
0
massbbc Messages postés 126 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 24 février 2022 1
13 janv. 2009 à 10:31
Ouf enfin jai reussi exactement ce que tu disais javais oublié de mentionné un champ dans ma rekête jai declaré 8 cham au lieu de 9 (champ oublié: moyPaiement).


Voici mon code il marche nuckel:


package devlog;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
import java.io.*;
public class AjoutP extends JFrame implements ActionListener {
JTextField txtrefP,txtNProd,txtqt,txtNomFour,txtcat,txtadr,txtTel,txtmont;
Object[] pai= {"Chèque bancaire", "Espèce","Carte bleu", "Chèques"};
JComboBox txtmoy = new JComboBox(pai);
JButton btnAjout,btnEffacer,btnFermer;
public static void main(String[]args)
{
AjoutP frame=new AjoutP();

}
public AjoutP()
{
Container c=this.getContentPane();
c.setLayout(new GridLayout(3,5));
JPanel panelcentre=new JPanel(new GridLayout(9,2));
JPanel panelbas=new JPanel(new FlowLayout());
JLabel titre=new JLabel("",SwingConstants.RIGHT);
titre.setForeground(Color.red);
titre.setFont(new Font("TimesRoman",Font.ITALIC,25));
titre.setText("FIRST APPLICATION JAVA CORP.");
c.add(titre);
//zone de saisie pour le nom l'adresse et le telephone
txtrefP=new JTextField();
txtNProd=new JTextField();
txtqt=new JTextField();
txtNomFour=new JTextField();
txtcat=new JTextField();
txtadr=new JTextField();
txtTel=new JTextField();
txtmont=new JTextField();
//Object[] pai= {"Chèque bancaire", "Espèce","Carte bleu", "Chèques"};
//JComboBox txtmoy = new JComboBox(pai);
//ajout des etiquettes et des zones de saisie au panel
panelcentre.add(new JLabel("REFERENCE PRODUIT :",SwingConstants.RIGHT));
panelcentre.add(txtrefP);
panelcentre.add(new JLabel("NOM PRODUIT :",SwingConstants.RIGHT));
panelcentre.add(txtNProd);
panelcentre.add(new JLabel("QUANTITE :",SwingConstants.RIGHT));
panelcentre.add(txtqt);
panelcentre.add(new JLabel("CATEGORIE :",SwingConstants.RIGHT));
panelcentre.add(txtcat);
panelcentre.add(new JLabel("NOM FOURNISSEUR :",SwingConstants.RIGHT));
panelcentre.add(txtNomFour);
panelcentre.add(new JLabel("ADRESSE :",SwingConstants.RIGHT));
panelcentre.add(txtadr);
panelcentre.add(new JLabel("TELEPHONE :",SwingConstants.RIGHT));
panelcentre.add(txtTel);
panelcentre.add(new JLabel("MONTANT :",SwingConstants.RIGHT));
panelcentre.add(txtmont);
panelcentre.add(new JLabel("MOYEN :",SwingConstants.RIGHT));
panelcentre.add(txtmoy);
c.add(panelcentre);

//creer et ajoutter des boutons au panel de bas
btnAjout=new JButton("Ajouter");
btnEffacer=new JButton("Effacer");
btnFermer=new JButton("Fermer");
panelbas.add(btnAjout);
panelbas.add(btnEffacer);
panelbas.add(btnFermer);
c.add(panelbas);

//enregistrer le frame comme auditeur de bouton
btnAjout.addActionListener(this);
btnEffacer.addActionListener(this);
btnFermer.addActionListener(this);
this.setSize(550,600);
this.setTitle("AJOUT DE PRODUIT");
this.setVisible(true);
//creer une classe anonyme pour gerer la fermeture de la fenetre
this.addWindowListener(new WindowAdapter()
{
public void windoClosing(WindowEvent ev)
{
fermerFormulaire();
}
}
);
}//fin du constructeur
public void actionPerformed(ActionEvent e)
{
//déterminer si on cliqué sur un bouton
if(e.getSource()==btnAjout)
{
ajouterClient();

}
if(e.getSource()==btnEffacer)
{effacerFormulaire();}
if(e.getSource()==btnFermer)
{fermerFormulaire();}
}
//ajout
private void ajouterClient()
{
String url = "com.mysql.jdbc.Driver";
Connection con = null;
try {
String refProd,NomProd,Quant,categorie,NomFour,adressLivr,Tel,montCommande;

refProd=txtrefP.getText();
NomProd=txtNProd.getText();
Quant=txtqt.getText();
NomFour=txtNomFour.getText();
categorie=txtcat.getText();
NomFour=txtNomFour.getText();
adressLivr=txtadr.getText();
Tel=txtTel.getText();
montCommande=txtmont.getText();
Object moyPaiement;
JComboBox txtmoy = new JComboBox(pai);
moyPaiement=txtmoy.getSelectedItem();

System.out.println(refProd+" "+NomProd+" "+Quant+""+categorie+""+NomFour+" "+adressLivr+""+Tel+""+montCommande+" "+moyPaiement);
Class.forName(url);
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/gestion","root","");

//insertion
Statement s = con.createStatement();
String str = "INSERT INTO produi (refProd, NomProd ,Quant ,categorie ,NomFour, adressLivr, Tel,montCommande,moyPaiement) VALUES ('"+txtrefP.getText()+"','"+txtNProd.getText()+"','"+txtqt.getText()+"','"+txtcat.getText()+"','"+txtNomFour.getText()+"','"+txtadr.getText()+"','"+txtTel.getText()+"','"+txtmont.getText()+"','"+txtmoy.getSelectedItem()+"')";
s.executeUpdate(str);
System.out.println(str+" ligne insérée");
JOptionPane.showMessageDialog(this,"ajouté");
con.close() ;
}catch(Exception e) {System.out.println("Exception");}
finally {
try {con.close();}
catch(SQLException e) {e.printStackTrace();}
}
effacerFormulaire();
}
//effacer
private void effacerFormulaire()
{

txtrefP.setText("");
txtNProd.setText("");
txtqt.setText("");
txtNomFour.setText("");
txtcat.setText("");
txtNomFour.setText("");
txtadr.setText("");
txtTel.setText("");
txtmont.setText("");

}

//fermer
public void fermerFormulaire()
{
this.dispose();
}
}
0
massbbc Messages postés 126 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 24 février 2022 1
13 janv. 2009 à 10:36
Ouf enfin jai reussi exactement ce que tu disais javais oublié de mentionné un champ dans ma rekête jai declaré 8 cham au lieu de 9 (champ oublié: moyPaiement).
0
massbbc Messages postés 126 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 24 février 2022 1
13 janv. 2009 à 12:03
Merci pour tout !
Jai une seconde question comment faire une requête sur deux tables ?
0
Rejoignez-nous