当我传递带有所有 Jcomponats 值的单击事件上的按钮时,它不会更新我的表,而是在我的代码在其他表中正常工作时反射(reflect)异常?
private void update() {
String id = txtPcno.getText();
String updateQuery = "insert into n_patient (name, gender, NRIC, nationality, height, weight, smoke, last_seen) values(?,?,?,?,?,?,?,?)";
try {
pst = con.prepareStatement(updateQuery);
//pst.setString(1, txtPcno.getText());
pst.setString(1, txtName.getText());
pst.setString(2, txtGender.getText());
pst.setString(3, txtNRIC.getText());
pst.setString(4, txtNationality.getText());
pst.setString(5, txtHeight.getText());
pst.setString(6, txtWeight.getText());
pst.setString(7, txtSmoke.getText());
pst.setString(8, txtLastSeen.getText());
int rowAffected = pst.executeUpdate();
JOptionPane.showMessageDialog(null, String.format(" %d Modified Records Are Saved ", rowAffected));
clear();
} catch (Exception e) {
e.printStackTrace();
}
}
最佳答案
您收到此异常是因为,
在该表中插入记录时,您不会为该列(“Pcno”)插入数据,并且该列具有“不可为空”和“主键”等属性。
- 在这种情况下,有两个选项可以解决该问题:
- 将该列设置为自动增量列, 或者
- 将记录插入该表时,还会传递“Pcno”列的值
- 在这种情况下,有两个选项可以解决该问题:
关于java - 我从 MySql 收到异常,它不会更新表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54591482/