【发布时间】:2014-10-11 08:49:20
【问题描述】:
我正在尝试通过标签将 Int 插入到表中。所以我有 6 列,从 Name、Lastname 作为 varchars 开始,以及 Number、Points、Assists 和 Rebounds 作为整数。查询:
String sql = ("INSERT INTO `PlayerTable`(`Name`, `Lastname`, `Number`, `Points`, `Assists`, `Rebounds`) VALUES (?,?,?,?,?,?)");
PreparedStatement ps = PlayerBase.get().prepareStatement(sql);
ps.setString(1, playerNameFld.getText());
ps.setString(2, playerLNFld.getText());
工作得很好,但是当我尝试解析时:
try {
ps.setInt(3, Integer.parseInt(playerNumberFld.getText()));
} catch (Exception e) {
e.printStackTrace();
}
我得到一个 NumberFormatException:对于输入字符串:“” 和 SQLException:没有为参数 3 指定值。 我怎样才能解决这个问题?谢谢
【问题讨论】:
-
您的
playerNumberFld为空。 -
如果您的
setInt调用没有catch 块,您将不会收到SQLException ......这是您不应该的。 (如果你没有正确设置一个参数,你肯定不想继续SQL语句......)