【问题标题】:java.lang.NumberFormatException: For input string: "" javajava.lang.NumberFormatException:对于输入字符串:“” java
【发布时间】:2013-08-06 15:01:44
【问题描述】:

我在 mysql 中保存时出现错误:java.lang.NumberFormatException: For input string: "" 当我想在mysql中注册一条记录时

我的code

试试 {

    Proce_Analisis=conn.prepareCall(Insertar_Ana);//
    procedure1=conn.prepareCall(Insertar_Tole);//


    Proce_Analisis.setInt(1,Integer.parseInt(a));
    Proce_Analisis.setInt(2,Integer.parseInt(eti_lote.getText().trim()));
    Proce_Analisis.setInt(3,Integer.parseInt(eti_num.getText().trim()));
    Proce_Analisis.setInt(4,Integer.parseInt(eti_sem.getText().trim()));
    Proce_Analisis.setString(5,txt_fecha.getText());
    Proce_Analisis.setString(6,eti_rech.getText());
    Proce_Analisis.setString(7,txt_texto.getText());
    Proce_Analisis.setString(8,cmb_ind.getSelectedItem().toString());
    rs=Proce_Analisis.executeQuery();
    rs.first();

【问题讨论】:

标签: java input


【解决方案1】:

在将您的字符串解析为 int.. 之前检查字符串是否为 null 或像这样为空

if(str != null && !str.isEmpty())

【讨论】:

    【解决方案2】:

    捕获异常并警告用户。 如果它不是一个用户端应用程序,只需事先检查空字符串或空字符串,你应该不会有这个问题。

    【讨论】:

      【解决方案3】:

      您似乎正在尝试从空字符串中解析数字

      我认为这是在您的一个Integer.parseInt(str) 电话中

      在检查这些调用时使用调试器,并确保传递给它的字符串不是空字符串:""。如果是,则会抛出异常。


      一旦你发现这是发生在哪里,你必须问自己这个问题:

      此字符串是否有任何业务为空

      • 如果是这样,那么您应该在尝试解析 ints 之前检查空字符串,并相应地处理这种情况。

      • 如果不是,那么您应该首先找出字符串为空的原因并修复它。

      【讨论】:

      • 我通过比较解决了,因为用 if(!txt_agr_ana.getText().isEmpty()&&!eti_id_var.getText().isEmpty()) 清空了一个标签,感谢您的回答。跨度>
      猜你喜欢
      • 2012-12-05
      • 2013-09-04
      • 1970-01-01
      • 1970-01-01
      • 2017-09-18
      • 2013-12-02
      相关资源
      最近更新 更多