0

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)
4

2 に答える 2

2

解析しようとしている文字列は に解析""できないためintです。

おそらく入力を検証する必要があります。許可する場合""は、そのような場合にデフォルト値を割り当てます。

于 2011-06-09T12:23:58.160 に答える
1

いいえ、コンパイル時に表示されません -input.textは(実行時に)空の文字列であり、解析しようとすると失敗します。

input.textが空っぽのときに何をしたいのかを考え出す必要があります。

于 2011-06-09T12:23:35.863 に答える