我使用 javafx 使用 prepardstatement 更新数据库,但在运行它时,我在控制台上收到此错误,并且在编译时不会显示。看起来该字符串没有获取其中输入的值。也许我还是错了
var input: TextBox;
var inputnum = Integer.parseInt({input.text});
stmt = conn.prepareStatement("INSERT into dummy2 values(?,?,?)");
stmt.setString(1,"");
stmt.setString(2, "");
stmt.setInt(3, inputnum);
出现错误:-
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:468)
at java.lang.Integer.parseInt(Integer.java:497)
at testint.Main$Main$Script.applyDefaults$(Main.fx:36)
at testint.Main$Main$Script.applyDefaults$(Main.fx:36)
at testint.Main.javafx$run$(Main.fx)
最佳答案
因为您尝试解析的字符串是 ""
,它无法解析为 int
。
您可能需要验证输入,或者如果您想允许""
,则为这种情况分配一些默认值。
关于java - 将字符串转换为准备好的语句的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6292693/