【发布时间】:2019-07-16 12:17:04
【问题描述】:
“当我单击保存按钮时出现 NumberFormatException 错误,但我没有将字符串转换为数字。”
我试过了:
try {
result = Integer.parseInt(input);
} catch(Exception e) {
if(input == null || input.isEmpty()) { // case 1a
return 0; //case 1a
}
try {
String sql = "INSERT INTO c_records (job_id,u_name,model,warranty,deposit,balance,date,status,technician,balance_paid,clearance_date) VALUES (?,?,?,?,?,?,?,?,?,?,?)";
pst = connect.prepareStatement(sql);
pst.setInt(1, Integer.valueOf(jTextField1.getText()));
pst.setString(2, jTextField2.getText());
pst.setString(3, jTextField3.getText());
pst.setInt(4, Integer.valueOf(jTextField4.getText()));
pst.setInt(5, Integer.valueOf(jTextField5.getText()));
pst.setInt(6, Integer.valueOf(jTextField6.getText()));
pst.setString(7, jTextField7.getText());
pst.setString(8, jTextField8.getText());
pst.setString(9, jTextField9.getText());
pst.setInt(10, Integer.valueOf(jTextField10.getText()));
pst.setString(10, jTextField10.getText());
pst.setString(11, jTextField11.getText());
pst.execute();
JOptionPane.showMessageDialog(null, "Record Saved!");
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
我想要发送按钮将数据发送到数据库。
【问题讨论】:
-
“我没有将字符串转换为数字” - 您正在调用
Integer.parseInt和Integer.valueOf,它们都将字符串转换为数字... -
如果我将它们设置为字符串,它会带来错误。
-
如何将整数值发送到数据库。
-
嗯,大概您的一个文本字段是空的 - 那时您想做什么?
-
@JonSkeet,问题是如果文本字段为空,提问者希望将值设置为 0 - 请参见第一段代码中的案例 1a。目前还不清楚该块何时被调用,因为如果它防止为空,它应该可以工作。 pol,当你说你尝试了第一个区块时,你是在什么阶段尝试的?
标签: java runtime-error runtimeexception