if (e.getSource() == seek && type == 3) { PreparedStatement state; ResultSet resultSet; try { state = connection.prepareStatement("select Sname,Ssex,Sdept,Dno,Bbu from student where Sno =" + "'" + Sno.getText() + "'"); resultSet = state.executeQuery(); while (resultSet.next()) { //suse.setText("电话"); SnameText.setText(resultSet.getString("Sname")); SsexText.setText(resultSet.getString("Ssex")); SdeptText.setText(resultSet.getString("Sdept")); DnoText.setText(resultSet.getString("Dno")); BbuText.setText(resultSet.getString("Bbu")); } } catch (SQLException e1) { e1.printStackTrace(); }
时间: 2024-02-14 17:23:19 浏览: 142
根据你提供的代码,它是一个 Java 语言的片段,主要是在处理用户界面跟数据库交互的逻辑,具体来说,它是在根据用户输入的学号查询数据库中对应的学生信息,然后将查询结果展示在用户界面的文本框中。在代码中,使用了 JDBC(Java 数据库连接)技术来连接数据库,并通过 SQL 语句执行查询操作,最终将查询结果封装在一个 ResultSet 对象中,再通过调用 ResultSet 对象的方法来获取具体的查询结果。如果在查询过程中发生了异常,代码会打印出异常的堆栈信息。
相关问题
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, "删除成功"); }
这段代码是一个事件处理方法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语句中,可能会被恶意用户利用。应该使用参数化查询来避免该问题。
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, "删除成功"); }对这段代码进行详细注释
这段代码是在按钮被点击时执行的,用于从数据库中删除一条记录,并更新表格的显示。下面是对这段代码的详细注释:
```java
if (e.getSource() == delete) { // 如果点击的是删除按钮
try {
// 创建 PreparedStatement 对象,用于执行 SQL 语句
PreparedStatement statement = connection.prepareStatement("DELETE FROM ade WHERE remark=" + "'" + DnoText.getText() + "'");
// 执行 SQL 语句,删除指定的记录
statement.executeUpdate();
// 创建 PreparedStatement 对象,用于查询数据库中的所有记录
PreparedStatement state = connection.prepareStatement("SELECT * FROM ade");
// 执行查询操作,获取查询结果集
ResultSet resultSet = state.executeQuery();
// 清空表格中的数据
while (mm.getRowCount() > 0) {
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, "删除成功"); // 弹出删除成功的提示框
}
```
此代码首先检查事件源是否为删除按钮。如果是,则创建 PreparedStatement 对象,用于删除数据库中的一条记录,其中 SQL 语句的参数是从 DnoText 文本框中获取的备注信息。然后执行 SQL 语句,删除指定的记录。接下来创建另一个 PreparedStatement 对象,用于查询数据库中的所有记录,并执行查询操作,获取查询结果集。然后清空表格中的数据,并将查询结果添加到表格中。最后弹出一个提示框,提示删除成功。如果执行过程中出现异常,将打印堆栈跟踪信息。
阅读全文