while(mm.getRowCount()>0){ mm.removeRow(mm.getRowCount()-1); }
时间: 2024-04-20 11:27:01 浏览: 99
这段代码的作用是删除DefaultTableModel对象mm中的所有数据行。具体实现是在while循环中,通过调用mm.getRowCount()方法获取当前表格模型中的行数,然后依次从最后一行开始删除,直到表格模型中的所有行都被删除。具体删除操作是通过调用mm.removeRow(int row)方法实现的,其中row参数指定要删除的行的索引。
在Java中,DefaultTableModel类提供了一些方法来操作表格数据,包括添加、删除、修改和查询等。在这段代码中,通过循环调用removeRow()方法,实现了快速清空表格数据的功能。
相关问题
while(mm.getRowCount()>0){//把表格进行刷新,下次显示的时候重头开始显示 //System.out.println(model.getRowCount()); mm.removeRow(mm.getRowCount()-1);
这段代码是用来刷新表格模型(mm)的数据的。具体来说,它使用一个 while 循环,判断表格模型中是否还有数据行,如果有就使用 mm.removeRow() 方法删除最后一行数据,直到表格模型中的所有数据行都被删除。这样就可以清空表格模型中的数据,以便下一次重新查询并显示数据库中的数据。
在这个例子中,该代码通常用于在重新查询数据库中的数据时,先清空表格模型中的数据,然后再把查询结果添加到表格模型中。这样可以确保每次查询都是从头开始显示数据,而不是在原有数据的基础上添加新的数据。
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 对象,用于查询数据库中的所有记录,并执行查询操作,获取查询结果集。然后清空表格中的数据,并将查询结果添加到表格中。最后弹出一个提示框,提示删除成功。如果执行过程中出现异常,将打印堆栈跟踪信息。
阅读全文