JTextField值的NumberFormatException

时间:2014-07-11 11:39:24

标签: java swing jtextfield numberformatexception

尝试通过单选按钮将条目插入数据库选项会抛出此异常 我试图通过类似的问题得到答案,但我没有得到答案。

代码如下:

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();
    }
}

非常感谢任何帮助。检查堆栈跟踪后,我发现错误在第194行,我从jTextField3解析整数。

1 个答案:

答案 0 :(得分:2)

jTextField3不包含任何可以解析为数字的文本,要么包含由非数字组成的字符串,要么为空。因此,pst.setInt(3, Integer.parseInt(jTextField3.getText()));在尝试将文本字段中的文本转换为整数时抛出NumberFormatException。有关parseInt的完整说明,您可以查看API

NumberFormatException包含一条消息,告诉您输入字符串的外观,例如java.lang.NumberFormatException: For input string: "xyz"