public void actionPerformed(ActionEvent e) { if (e.getSource() == delete){ try { PreparedStatement statement = connection.prepareStatement("DELETE FROM ade WHERE remark=" + "'" + DnoText.getText() + "'"); statement.executeUpdate(); PreparedStatement state = connection.prepareStatement("select*from ade"); ResultSet resultSet = state.executeQuery(); while (mm.getRowCount() > 0) {//把表格进行刷新,下次显示的时候重头开始显示 //System.out.println(model.getRowCount()); mm.removeRow(mm.getRowCount() - 1); } while (resultSet.next()) { String Sno=resultSet.getString(1); String Sname=resultSet.getString(2); String Ssex=resultSet.getString(3); String Sdept=resultSet.getString(4); String Dno=resultSet.getString(5); String[] data={Sno,Sname,Ssex,Sdept,Dno}; mm.addRow(data); } } catch (SQLException e1) { e1.printStackTrace(); } JOptionPane.showMessageDialog(this, "删除成功"); }
时间: 2024-02-14 10:35:36 浏览: 84
public void actionPerformed(ActionEvent e)
这段代码是一个事件处理方法actionPerformed,当delete按钮被点击时,会执行该方法。该方法的主要功能是从数据库中删除一条remark为用户输入的DnoText文本框中的值的数据,并且更新显示在表格中的数据。具体的实现步骤如下:
1. 获取用户输入的DnoText文本框中的值,并且使用该值作为删除的条件,从ade表中删除相应数据。
2. 使用PreparedStatement对象执行SQL语句,具体为DELETE FROM ade WHERE remark=用户输入的DnoText文本框中的值。
3. 使用PreparedStatement对象执行更新操作,具体为statement.executeUpdate()。
4. 查询ade表中的数据,并且使用ResultSet对象获取相应的数据。
5. 清空表格中的数据。
6. 将ResultSet对象中的数据逐行读取,并且将数据添加到表格中。
7. 若删除操作成功,弹出删除成功的提示框。
需要注意的是,该段代码中存在SQL注入漏洞,因为用户输入的DnoText文本框中的值直接拼接到SQL语句中,可能会被恶意用户利用。应该使用参数化查询来避免该问题。
阅读全文