java - 我从 MySql 收到异常,它不会更新表?

标签 java mysql sql swing

当我传递带有所有 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();
    }
}

Here is the Image of indication Problem

最佳答案

您收到此异常是因为,

  • 在该表中插入记录时,您不会为该列(“Pcno”)插入数据,并且该列具有“不可为空”和“主键”等属性。

    • 在这种情况下,有两个选项可以解决该问题:
      1. 将该列设置为自动增量列, 或者
      2. 将记录插入该表时,还会传递“Pcno”列的值

关于java - 我从 MySql 收到异常,它不会更新表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54591482/

相关文章:

java - 如何在 Jasper 中格式化间隔类型

mysql - 为什么 DBD::mysql 在 Perl Package Manager 4.19 Perl Version 5.20 中不退出?

MySQL - 同时显示最大、最小、平均值和每日数据

java - 尝试从每一行中提取一些单词

java - 在 Android 上通过 jni 将 byte[] 传递给 C 时出现问题

java - 在这一小段 Android 代码中,我在哪里遗漏了 { 或 }?

MySQL并发更新

mysql - 删除除每个字段的最后 10 条记录之外的所有记录

sql - 包含 greaterThanEqual (gte) 或 lessThanEqual (lte) 的 Squeryl 查询给出错误/无结果

c# - 在放入数据库之前压缩字符串是否有帮助?