【发布时间】:2019-07-24 14:23:52
【问题描述】:
这里的主要问题是,检测 Jtable 中的重复条目,当您第三次输入 SAME/IDENTICAL 数据时,检测重复条目将起作用。它不会在第二次工作并重复。
如何在我的 mysql 中添加唯一约束?我不知道该怎么做。请让我具体说明如何执行它
JAVA NETBEANS
数据库:MYSQL
我认为问题出在 try-catch 部分,这是我不理解的部分。提前致谢。
这是我的代码:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String first = firstname.getText();
String last = lastname.getText();
String gen = gender.getText();
String strand = cboStrand.getSelectedItem().toString();
String aged = age.getText();
String add = address.getText();
try{
String sql;
sql = "INSERT INTO idusjavanew"
+ "(fname,lname,sex,strand,age,address)"
+ "VALUES (?,?,?,?,?,?)";
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/idusjavanew?zeroDateTimeBehavior=convertToNull","root","");
pst = con.prepareStatement(sql);
pst.setString(1, firstname.getText());
pst.setString(2, lastname.getText());
pst.setString(3, gender.getText());
pst.setString(4, cboStrand.getSelectedItem().toString());
pst.setString(5, age.getText());
pst.setString(6, address.getText());
String selectQuery;
selectQuery = "select * from idusjavanew where fname ='"+first+"' and lname='"+last+"'";
System.out.println(selectQuery);
rs = pst.executeQuery(selectQuery);
System.out.println(rs.next());
if (rs.next()==false){
pst.executeUpdate();
JOptionPane.showMessageDialog(null , "Information has been recorded!");
showTableData();
}
else{
JOptionPane.showMessageDialog(null,"Information already added!");
showTableData();
}
}
catch(HeadlessException | SQLException ex)
{
JOptionPane.showMessageDialog(null,ex);
}
showTableData();
}
【问题讨论】:
-
只需在mysql中添加唯一约束,插入后检查是否有重复键错误。
-
@Shadow 你能给我具体的说明吗?我不知道该怎么做。
标签: java mysql duplicates jtable try-catch