- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想做的是,当我单击“添加”按钮时,它将创建另一个实例,其中该实例内部有一个查询,它将与数据库交互,以添加我从 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);
}
}
我的 addEmployee 代码
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,如果你们想知道为什么我有外键,我有一个外键,所以,如果我删除行,其他表中的所有其他行都将被删除,但它不起作用。
最佳答案
以下是我可以根据您的问题假设的表格。
users -- idusers, other fields
personal_info -- idpersonal_info, First_Name, Middle_Initial, Last_Name,
Date_Of_Birth, Marital_Status, Beneficiaries
我假设以下关系:
idusers - primary key
idpersonal_info - foreign key referencing idusers,
also, it is set to ON DELETE CASCADE, ON UPDATE CASCADE
You had set it as primary key with AUTO_INCREMENT also.
来自维基百科Foreign Key :
The values in one row of the referencing columns
must occur in a single row in the referenced table.
如果我正确理解了您的表结构,那么我得出以下结论。
您正在向 personal_info
表中插入一条新记录,但省略了 idpersonal_info
的值,因为它是主要的且auto_increment
。现在,在插入行之前,MySQL 将对您设置的外部约束执行检查。在那里,它检查users
表的idusers
字段中是否存在idpersonal_info
的值。由于您没有为 idpersonal_info
指定值,MySQL 可以采用 NULL
或 idpersonal_info
的自动递增值,将采用哪一个by MySQL 是我不确定。如果它采用NULL
,那么它将不会出现在users
表上,因此违反了外键约束。如果它采用 auto_incremented 值,则它有可能不会出现在 users
表中,如果不存在,则违反外键约束。
现在,我能想到的解决方案是,您还必须在 INSERT
查询中为 idpersonal_info
指定一个值。您必须确保 users
表中也存在该信息。
希望有帮助:)
关于java - 带查询的 Actionevent 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8448149/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!