То, что я пытался сделать, это то, что когда я нажимаю кнопку «Добавить», он создает другой экземпляр, в котором внутри этого запроса есть запрос, который будет взаимодействовать с базой данных, чтобы добавить входные данные, полученные от JTextFields, и я есть еще одна проблема, она продолжает давать мне
m.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException
вот код моего действия
private class AddHandler implements ActionListener {
public void actionPerformed(ActionEvent event) {
Personal personal = new Personal(firstTxt.getText(),miTxt.getText(),
lastTxt.getText(),dob.getText(),maritalTxt.getText(),beneTxt.getText());
Contact contact = new Contact(telTxt.getText(),addTxt.getText(),
mobTxt.getText(),emailTxt.getText());
Employee employee = new Employee(posTxt.getText(),payTTxt.getText(),payRTxt.getText(),hireTxt.getText());
Finance finance = new Finance();
finance.addEmployee(personal,contact,employee);
}
}
Мой код добавления сотрудника
public void addEmployee(Personal p ,Contact c,Employee e) {
Connection conn = Jdbc.dbConn();
Statement statement = null;
String insert1 = "INSERT INTO personal_info (`First_Name`, `Middle_Initial`, `Last_Name`, `Date_Of_Birth`, `Marital_Status`, `Beneficiaries`) VALUES ('"+p.getFirstName()+"', '"+p.getMiddleInitial()+"'" +
" , '"+p.getLastName()+"', '"+p.getDateOfBirth()+"', '"+p.getMaritalStatus()+"', '"+p.getBeneficiaries()+"')";
try{
statement = conn.createStatement();
statement.executeUpdate(insert1);
statement.close();
conn.close();
JOptionPane.showMessageDialog(null, "Employee Added!!");
}catch(Exception ex){
ex.printStackTrace();
}
}
вот список ошибок
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`finalpayroll`.`personal_info`, CONSTRAINT `personal_info_ibfk_1` FOREIGN KEY (`idpersonal_info`) REFERENCES `users` (`idusers`) ON DELETE CASCADE ON UPDATE CASCADE)
Если вы, ребята, задаетесь вопросом, почему у меня есть внешний ключ, я добавил к нему внешний ключ, а его внешний ключ - idUsers, если вам, ребята, интересно, почему у меня есть внешний ключ, у меня есть внешний ключ, так что если Я удаляю строку, все остальные строки в других таблицах будут удалены, но это не сработает.