Utilisation swing

Fermé
mb42 Messages postés 432 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 14 janvier 2014 - Modifié par mb42 le 7/12/2010 à 09:35
mb42 Messages postés 432 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 14 janvier 2014 - 7 déc. 2010 à 12:59
Bonjour,
je fait test connexion avec base de donne et ca marche avec sucée
maintenant je veux faire l'ajout en mode graphique

je veux faire une bonne stratégie de développement.

1-créer une class etudiant (contient cin,nom,prenom)
2-créer interface ADDetudiant
2-créer une class connexion

après un simple recherche sur internet j'entends de ce terme "PreparedStatement"

voila le code de bouton 'valider'

qui sert a enregistrer le donnes saisies dans la base de donné

private void jButtonValiderActionPerformed(java.awt.event.ActionEvent evt) {                                               

         Etudiant e = new Etudiant();
         e.setCin(Integer.parseInt(jTextFieldCIN.getText()));
         e.setNom(jTextFieldNom.getText());
         e.setPrenom(jTextFieldPrenom.getText());

    // ici je dois instancier la class connexion pour ouvrir connection

   // faire String sql = "INSERT INTO etudiant (cin, nom, prenom) 
//VALUES (?, ?, ?)";
//PreparedStatement statement = connection.prepareStatement(sql);

//statement.set.....................


//fermer connexion 






et pour la classe connexion que dois ouvrir connexion

je suppose que dois être comme suit;


public class connexion
{
    public static void main(String[] args) {
      



        Connection connexion;
          Statement statement;
          ResultSet resultat;
try {
    Class.forName("com.mysql.jdbc.Driver");
    connexion = DriverManager.getConnection("jdbc:mysql://localhost/test","root","");
    statement = connexion.createStatement();


 }catch(Exception e){
               System.out.print("Impossible de se connecté à MySQL");
          }

}





pouvez m'aider a compléter ce code (dans le bouton "valider"

merci d'avance

2 réponses

choubaka Messages postés 39410 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 3 janvier 2025 2 104
7 déc. 2010 à 09:22
0
mb42 Messages postés 432 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 14 janvier 2014 7
Modifié par mb42 le 7/12/2010 à 15:49
j'essaye avec ce code :

class interfaceEtudiant :

public class interfaceEtudiant extends javax.swing.JFrame { 

.... 

.... 
.... 
.. 

 private void jButtonValiderActionPerformed(java.awt.event.ActionEvent evt) { 

           Integer cin=Integer.parseInt(jTextFieldCIN.getText()); 
        String nom=jTextFieldNom.getText(); 
        String prenom=jTextFieldPrenom.getText(); 
        String classe=jTextFieldClasse.getText(); 
        String tel=jTextFieldTel.getText(); 
        String email=jTextFieldEmail.getText(); 

      connection c=new connection(); 

        
        try { 
             String sql = "INSERT INTO etudiant (CIN, nom, prenom,classe,tel,email) VALUES(?,?,?.?,?,?)"; 
            connection.connection.createStatement(); 
            PreparedStatement statement = connection.connection.prepareStatement(sql); 
            statement.setObject(1,new Integer(123),Types.INTEGER); 
            statement.setObject(2,nom,Types.VARCHAR); 
            statement.setObject(3,prenom,Types.VARCHAR); 
            statement.setObject(4,classe,Types.VARCHAR); 
            statement.setObject(5,tel,Types.VARCHAR); 
            statement.setObject(6,email,Types.VARCHAR); 
           statement.executeUpdate(); 

          
        } catch (SQLException ex) { 
            Logger.getLogger(interfaceEtudiant.class.getName()).log(Level.SEVERE, null, ex); 
        } 
    } 

   
    public static void main(String args[]) { 
        java.awt.EventQueue.invokeLater(new Runnable() { 
            public void run() { 
                new interfaceEtudiant().setVisible(true); 
            } 
        }); 
    } 


.... 

..... 

... 




class connection


public class connection { 

      //Connection connexion; 
          //Statement statement; 
         // static ResultSet resultat; 


   static  String driver = "com.mysql.jdbc.Driver"; 
    static String url = "jdbc:mysql://localhost/test"; 
    static String login = "root"; 
   static String password = ""; 
   static Connection connection = null; 
   static Statement statement; 
        public static void main(String[] args) { 


try{ 
   Class.forName(driver); 
   connection = DriverManager.getConnection(url,login,password); 
    statement = connection.createStatement(); 
     

   //travail avec les données 
} 
catch(ClassNotFoundException cnfe){ 
   System.out.println("Driver introuvable : "); 
   cnfe.printStackTrace(); 
} 
catch(SQLException sqle){ 
   System.out.println("Erreur SQL : "); 
   //Cf. Comment gérer les erreurs ? 
} 
catch(Exception e){ 
   System.out.println("Autre erreur : "); 
   e.printStackTrace(); 
} 
finally 
{ 
   if(connection!=null) 
   {try{connection.close();} 
    catch(Exception e){e.printStackTrace();}} 
   //etc. 
} 

} 
} 



mais elle n'ajoute pas a la base de donne

voila l'erreur

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException 
        at Pack2.interfaceEtudiant.jButtonValiderActionPerformed(interfaceEtudiant.java:196) 
        at Pack2.interfaceEtudiant.access$200(interfaceEtudiant.java:21) 
        at Pack2.interfaceEtudiant$3.actionPerformed(interfaceEtudiant.java:86) 
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) 
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) 
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) 
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) 
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) 
        at java.awt.Component.processMouseEvent(Component.java:6263) 
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) 
        at java.awt.Component.processEvent(Component.java:6028) 
        at java.awt.Container.processEvent(Container.java:2041) 
        at java.awt.Component.dispatchEventImpl(Component.java:4630) 
        at java.awt.Container.dispatchEventImpl(Container.java:2099) 
        at java.awt.Component.dispatchEvent(Component.java:4460) 
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) 
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) 
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) 
        at java.awt.Container.dispatchEventImpl(Container.java:2085) 
        at java.awt.Window.dispatchEventImpl(Window.java:2478) 
        at java.awt.Component.dispatchEvent(Component.java:4460) 
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) 
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) 
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) 
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) 
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) 
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) 
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
0