Utilisation swing

mb42 Messages postés 553 Statut Membre -  
mb42 Messages postés 553 Statut Membre -
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

  1. mb42 Messages postés 553 Statut Membre 7
     
    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