begin process at 2010 02 10 14:15:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Débutant(e)

 > 

Ajouter un enregistrement


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ajouter un enregistrement

lundi 5 janvier 2009 à 16:28:30 | Ajouter un enregistrement

massbbc

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);
}
}
mardi 6 janvier 2009 à 10:26:31 | Re : Ajouter un enregistrement

dvoraky

Réponse acceptée !
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?


 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...
mardi 6 janvier 2009 à 13:01:02 | Re : Ajouter un enregistrement

massbbc

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
mardi 6 janvier 2009 à 14:05:03 | Re : Ajouter un enregistrement

dvoraky

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 :

[ Lien ]

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


 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...

mardi 6 janvier 2009 à 16:35:09 | Re : Ajouter un enregistrement

massbbc

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(); } }
mardi 6 janvier 2009 à 17:22:21 | Re : Ajouter un enregistrement

dvoraky

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?


 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...
mardi 6 janvier 2009 à 18:20:31 | Re : Ajouter un enregistrement

massbbc

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
mercredi 7 janvier 2009 à 09:03:07 | Re : Ajouter un enregistrement

dvoraky

... Je refais un fois voir si ça va mieux.
As tu un message d'erreur dans ton programme?


 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...
mercredi 7 janvier 2009 à 16:11:19 | Re : Ajouter un enregistrement

massbbc

non je nai aucune erreur et c'est ce qui me parrait bizarre...
mercredi 7 janvier 2009 à 16:37:57 | Re : Ajouter un enregistrement

dvoraky

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.


 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...


1 2

Cette discussion est classée dans : add, jlabel, gettext, panelcentre, swingconstants


Répondre à ce message

Sujets en rapport avec ce message

Proble GridLayout [ par sayone ] Bonjour à tous,Je suis débutant et je dois créer une genre d'interface graphique mais le probleme c'est que je n'arrive pas à positionner les texte et scrollpane et panel :) [ par Ricool ] Bonjourj'ai un petit probleme de mise en page d'une jdialogen effet, dans celle ci je dois faire apparaitre le contenu d'un fichier text represnetant LAYOUT et positionnement [ par alonsyl ] bonjour,je tente actuellement de m'initier a la creation d'interfaces graphiques et je dois dire que j'ai du mal a jongler avec les LAYOUT. voici ce a connexion BD et un button [ par ilounga2002 ] Salut tous. j ai etabli un programme en java avec quatre champ de text (JTextField) et une base de donn¨¦e access mais cliquant sur le button ajout po Class graphics? [ par BretagneMateo ] bonjour a tous et a toutes, j'ai un probleme pour ajouter ou superposer un element graphic dans un JFrame. Dans ma Frame j'ai des bouttons, des labels Graphics et paint ! [ par BretagneMateo ] bonjour a tous et a toutes, j'ai un probleme pour ajouter ou superposer un element graphic dans un JFrame. Dans ma Frame j'ai des bouttons, des labels Problème avec SWING [ par ulysse00 ] salut voila mon code mais j'ai un problème avec les composants qui ne s'affiche pas ,je veux afficher au dessous de GridLayout jtextfield et jlabel av Applet Java [ par Passepartout ] Bonjour, j'ai develloper une applet java mais il semble qu'elle ne fonctionne pas avec des version de JSDK antérieure aux version 1,4,x (j'obtient un parcourir un Hashtable [ par envisat ] Bonjour à tous.... J'ai besoin d'un coup de pouce SVPje suis entrain de faire un projet scolaire et je dois utiliser un hastable pour mette des donné


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,229 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales