Я хочу вставить значение в базу данных, и у меня есть две таблицы информации и обратной связи, в которых я создал внешний ключ и вставляю два значения из одного предмета и рейтинга JFrame в таблицу обратной связи, и он содержит четыре атрибута name, электронная почта, тема, рейтинг, в котором имя и адрес электронной почты извлекаются из предыдущей таблицы во время входа в систему, и мой код показывает SQLINTEGRITYCONSTRAINTSVIOLATION.
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student","root","harsh");
String sql = "insert into feedback values(?,'eid','name',?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
String sub;
sub = subject.getSelectedItem().toString();
pstmt.setString(1, sub);
String rate = null;
if(poor.isSelected()){
rate = poor.getText();
}
if(good.isSelected()){
rate = good.getText();
}
if(excellent.isSelected()){
rate = excellent.getText();
}
pstmt.setString(2, rate);
pstmt.executeUpdate();
StudentFeedback sf = new StudentFeedback();
sf.setVisible(false);
this.dispose();
Submitted sm = new Submitted();
sm.setVisible(true);
sm.setLocationRelativeTo(null);
conn.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
Ожидаемый результат дает ошибку, а фактический результат хранит данные изJFrame в таблице отзывов.