私は、JavaとMySQLを使用して従業員給与管理システムを開発しています。レコードを追加しようとすると、このエラーが発生します。java.sql.SQLException:フィールドIDにデフォルト値がありません
私のコードはここにある:
try {
String sql ="insert into Staff_information "
+ "(first_name,surname,Dob,Email,"
+ "Telephone,Address,Department,"
+ "Image,Salary,Gender,Address2,"
+ "Post_code, Designation,Status,job_title,Apartment,Date_hired) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
pst=conn.prepareStatement(sql);
pst.setString(1,txt_firstname.getText());
pst.setString(2,txt_surname.getText());
pst.setString(3,txt_dob.getText());
pst.setString(4,txt_email.getText());
pst.setString(5,txt_tel.getText());
pst.setString(6,txt_address.getText());
pst.setString(7,txt_dep.getText());
pst.setBytes(8,person_image);
pst.setString(9,txt_salary.getText());
pst.setString(10,gender);
pst.setString(11,txt_add2.getText());
pst.setString(12,txt_pc.getText());
pst.setString(13,txt_design.getText());
pst.setString(14,txt_status.getText());
pst.setString(15,txt_job.getText());
pst.setString(16,txt_apt.getText());
pst.setString(17,txt_doj.getText());
pst.execute();
JOptionPane.showMessageDialog(null,"Data is saved successfully");
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e);
} finally{
try {
rs.close();
pst.close();
} catch(Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
}
エラーを投稿してください:) – RobAu
例外メッセージではかなり明確で、 java。テーブルキーとしてIDを宣言したと思います。挿入時にIDの新しい値を生成するようにテーブルを構成します。 https://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html – RubioRic
感謝します。私の問題は解決しました –