Partage
  • Partager sur Facebook
  • Partager sur Twitter

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

    12 septembre 2022 à 17:09:18

    Salut à tous,

    Je débute en java avec Netbeans. Voic mon code dans une bouton :

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            try {
              Connect();
              pst = con.prepareStatement("insert client(id,nom,tel,adresse) values($,$,$,$)");
              pst.setString(1, txtid.getText());
              pst.setString(2, txtnom.getText());
              pst.setString(3, txttel.getText());
              pst.setString(4, txtadresse.getSelectedItem().toString());
              pst.executeUpdate();
              con.close();
              JOptionPane.showMessageDialog(null, "Client ajouté");
            } catch(SQLException e){
                
            }
        }    

    J'ai chercher la raison de l'erreur Exception in thread "AWT-EventQueue-0" java.lang.N sans succès. 

    Pouvez-vous m'aider. 

    Merci.

    • Partager sur Facebook
    • Partager sur Twitter
      13 septembre 2022 à 8:49:33

      Quelques regles de base qui t'aideront a debusquer le probleme:

      1) On evite de melanger les responsabilites dans une classe/une fonction, ici tu melanges affichage et utilisation de la base de donnee.

      2) On affiche toujours les exceptions, idealement dans un log, sinon dans la console.

      3) Quand on utilise des integrations avec des syntaxes que l'IDE ne peut valider, du SQL dans le cas present, on valide cette integration avec un client adapte, donc teste ta requete dans le client de ton SGBR 

      • Partager sur Facebook
      • Partager sur Twitter
        13 septembre 2022 à 9:43:37

        Bonjour,

        Merci pour votre réponse. Comme je l'ai dit dans mon précédent post, je suis vraiment débutant en java. Pour être plus précis, je suis un tutoriel vidéo pas à pas. J'ai déjà tester la requête dans mysql qui fonctionne bien. 

        Je ne comprend pas quand vous dites : melanger affichage et utilisation de la base de donnée.

        Merci pour votre aide.



        • Partager sur Facebook
        • Partager sur Twitter
          13 septembre 2022 à 10:49:42

          Melanger les responsabilites signifie avoir des domaines differents dans un meme scope

          L'affichage, c' est le systeme de fenetrage, AWT ou Swing dans le cas present, le probleme en les melangeant, c'est que l'un aura un impact sur l'autre. ce qui rend les tests et debugs complique

          Ici par exemple tu es oblige de lancer ton app, appuyer sur un bouton pour tester ta requete

          Une bonne maniere de faire est de creer des classes separee pour les appels DB et le fenetrage tu pourra ainsi tester ta requete indepemment.

          je reinsiste sur le 'on affiche toujours la trace des exceptions' il te donnera le soucis de ta requete

          • Partager sur Facebook
          • Partager sur Twitter

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

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown