IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Java Discussion :

ajout en mode graphique


Sujet :

Java

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 208
    Par défaut ajout en mode graphique
    salut,


    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é


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    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;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    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. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 095
    Par défaut
    as tu lu La FAQ ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 208
    Par défaut
    j'essaye avec ce code :

    class interfaceEtudiant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    package Pack2;
    import java.sql.*;
    import java.sql.SQLException;
     
     
     
    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 j'ai l'erreur suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
            at Pack2.interfaceEtudiant.jButtonValiderActionPerformed(interfaceEtudiant.java:198)
            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)

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 095
    Par défaut
    Bah une variable je ne sais pas laquelle, ligne 198, n'est pas initialisée. Difficile d'en dire plus comme cela.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 208
    Par défaut
    j'essaye de changer un peux en ce code

    amis toujours le même problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    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();
     
            String sql = "INSERT INTO etudiant (CIN, nom, prenom,classe,tel,email) VALUES(?,?,?.?,?,?)";
     
            try {
     
                PreparedStatement preparedStatement = connection.connection.prepareStatement(sql);
                preparedStatement.setObject(1,3,Types.INTEGER);
             preparedStatement.setObject(2,nom,Types.VARCHAR);
               preparedStatement.setObject(3,"prenom",Types.VARCHAR);
                preparedStatement.setObject(4,"classe",Types.VARCHAR);
               preparedStatement.setObject(5,"tel",Types.VARCHAR);
                preparedStatement.setObject(6,"email",Types.VARCHAR);
               preparedStatement.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);
                }
            });
        }

    je veux insérer dans la base de donner les valeurs que j'ai saisie en formulaire(jTextFieldNom.getText()

    don je dois mettre les valeurs cin et nom ,,,dans preparedStatement.setObject,,,
    ( n'oubli pas que cin=Integer.parseInt(jTextFieldCIN.getText()))

    pouvez m' aider a le cooriger

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 208
    Par défaut
    désolé voila un code que je suppose juste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    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();
     
            String sql = "INSERT INTO etudiant (CIN, nom, prenom,classe,tel,email) VALUES(?,?,?.?,?,?)";
     
            try {
     
                PreparedStatement preparedStatement = connection.connection.prepareStatement(sql);
                preparedStatement.setObject(1,cin,Types.INTEGER);
             preparedStatement.setObject(2,"nom",Types.VARCHAR);
               preparedStatement.setObject(3,"prenom",Types.VARCHAR);
                preparedStatement.setObject(4,"classe",Types.VARCHAR);
               preparedStatement.setObject(5,"tel",Types.VARCHAR);
                preparedStatement.setObject(6,"email",Types.VARCHAR);
               preparedStatement.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);
                }
            });
        }
    mais toujours même erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
            at Pack2.interfaceEtudiant.jButtonValiderActionPerformed(interfaceEtudiant.java:201)
            at Pack2.interfaceEtudiant.access$200(interfaceEtudiant.java:22)
            at Pack2.interfaceEtudiant$3.actionPerformed(interfaceEtudiant.java:87)
            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)

    la ligne est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      PreparedStatement preparedStatement = connection.connection.prepareStatement(sql);

  7. #7
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 095
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    connection c=new connection();
    ....
    PreparedStatement preparedStatement = connection.connection.prepareStatement(sql);
    et le "c" il est utilisé quand ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 208
    Par défaut
    désolé cette ligne n'a pas de sens.

    mais je veux savoir

    ces lignes sont correctes ou non (prend les valeurs saisie et mettre dans la base)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
       preparedStatement.setObject(1,cin,Types.INTEGER);
             preparedStatement.setObject(2,nom,Types.VARCHAR);
               preparedStatement.setObject(3,prenom,Types.VARCHAR);
                preparedStatement.setObject(4,classe,Types.VARCHAR);
               preparedStatement.setObject(5,tel,Types.VARCHAR);
                preparedStatement.setObject(6,email,Types.VARCHAR);
    je suppose que je dois corriger ces lignes

  9. #9
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 095
    Par défaut
    Ha bon ? et pourquoi changer ces lignes, elles ont l'air bien...
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [TP]Problème de modes graphiques sous Windows XP
    Par Gabi dans le forum Turbo Pascal
    Réponses: 11
    Dernier message: 04/04/2004, 17h25
  2. [TP][Mode Graphique]SetActivePage
    Par Giovanny Temgoua dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 17/01/2004, 18h39
  3. Réponses: 7
    Dernier message: 17/01/2004, 17h13
  4. Clignotement d'un caractère en mode graphique
    Par julson dans le forum x86 16-bits
    Réponses: 6
    Dernier message: 08/12/2003, 14h59
  5. [TP]Pb Mode Graphique
    Par John_win dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 29/11/2003, 22h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo