2014-07-11 5 views
0

Essayer d'insérer une entrée dans une base de données par un bouton radio Option me jette cette exception J'ai essayé d'obtenir réponse par les questions similaires mais je n'ai pas obtenu un.NumberFormatException sur la valeur JTextField

Le code est le suivant:

private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) { 
    jPanel2.setVisible(true); 
    try{ 
     Class.forName("com.mysql.jdbc.Driver"); 
     String url="jdbc:mysql://localhost:3306/test"; 
     Connection conn=DriverManager.getConnection(url,"root","Sumit"); 
     String query="Insert student values(?,?,?)"; 
     PreparedStatement pst=conn.prepareStatement(query); 
     pst.setString(1, jTextField1.getText()); 
     pst.setString(2, jTextField2.getText()); 
     pst.setInt(3, Integer.parseInt(jTextField3.getText())); 
     int rec=pst.executeUpdate(); 
     if(rec>0) 
     { 
      jLabel6.setText("New Student Added"); 
      jTextField1.setText(" "); 
     jTextField2.setText(" "); 
      jTextField3.setText(" "); 
     } 
    } 
    catch(Exception ex) 
    { 
     ex.printStackTrace(); 
    } 
} 

Toute aide serait grandement apprécié. Après avoir examiné la trace de la pile, j'ai trouvé l'erreur sur la ligne n ° 194 où j'analyse un entier de jTextField3.

+1

Quel est le contenu de la 'jTextField3' peut-être ce n'est pas un entier? – Jens

+0

jTextfield3 dans ma table nécessite int, un numéro de rouleau. –

+0

Oui, il en faut un. Mais si vous insérez une valeur non numérique, vous obtenez cette exception. – Jens

Répondre

2

jTextField3 ne contient aucun texte pouvant être analysé en un nombre, qu'il contienne une chaîne composée de non-chiffres ou qu'elle soit vide. Par conséquent, pst.setInt(3, Integer.parseInt(jTextField3.getText())); lève une exception NumberFormatException lorsque vous tentez de convertir le texte du champ de texte en entier. Pour une description complète de parseInt, vous pouvez vérifier le API.

Le NumberFormatException contient un message qui vous indique ce que la chaîne d'entrée ressemblait, par exemple java.lang.NumberFormatException: For input string: "xyz"

+1

En outre, NumberformatException devrait fournir des informations sur ce qui est faux, par exemple: Exception dans le fil "principal" java.lang.NumberFormatException: Pour la chaîne d'entrée: "" –

+0

Pphoenix Je veux entrer les valeurs à travers le champ Field.Comment puis-je définir jtextfield avant? la chaîne d'entrée est "" –

+0

@SumitDhiman Façon la plus simple (sauter StringBuilder) int defaultValue = 5; jTextField3.setText ("" + defaultValue); // Maintenant textfield contient le numéro 5 – Pphoenix

Questions connexes