Java 将字符串转换为准备状态的整数
Iam使用javafx使用prepardstatement更新数据库,但在运行它时,Iam在控制台上收到此错误,并且在编译时不会显示此错误。看起来字符串没有得到输入的值。也许我还是搞错了Java 将字符串转换为准备状态的整数,java,jdbc,jakarta-ee,javafx,javafx-2,Java,Jdbc,Jakarta Ee,Javafx,Javafx 2,Iam使用javafx使用prepardstatement更新数据库,但在运行它时,Iam在控制台上收到此错误,并且在编译时不会显示此错误。看起来字符串没有得到输入的值。也许我还是搞错了 var input: TextBox; var inputnum = Integer.parseInt({input.text}); stmt = conn.prepareStatement("INSERT into dummy2 values(?,?,?)"); stmt.set
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)
它不会在编译时显示,no-
input.text
是一个空字符串(在执行时),当您尝试解析它时,这是失败的
当
input.text
为空时,您需要确定要执行什么操作。它不会在编译时显示,没有-input.text
是一个空字符串(在执行时),当您尝试解析它时,这是失败的
当
输入时,您需要计算出要执行的操作。文本为空。因为您试图解析的字符串是“
,无法解析为int
您可能需要验证输入,或者如果您想允许”
,则为这种情况指定一些默认值。因为您试图解析的字符串是”
,它不能解析为int
您可能需要验证输入,或者如果您希望允许”
,则为这种情况指定一些默认值。在我的javafx代码中,验证工作正常,但如果我引用一个变量,将其作为参数发送到结果集,则会出现非法的正向引用错误。例如:@jbs123:恐怕你真的没有说清楚。@skeet不要害怕,它只是使用javafx尝试了一种新的方法,我自己修复了它。谢谢你在我的javafx代码中,验证工作正常,但是如果我引用一个变量,将其作为参数发送到结果集,我会得到非法的正向引用错误。例如:@jbs123:恐怕你真的没有说清楚。@skeet不要害怕,它只是用javafx尝试了一种新的方法,我自己解决了。谢谢