while(mm.getRowCount()>0){//把表格进行刷新,下次显示的时候重头开始显示 //System.out.println(model.getRowCount()); mm.removeRow(mm.getRowCount()-1);
时间: 2024-04-06 15:29:01 浏览: 12
这段代码是用来刷新表格模型(mm)的数据的。具体来说,它使用一个 while 循环,判断表格模型中是否还有数据行,如果有就使用 mm.removeRow() 方法删除最后一行数据,直到表格模型中的所有数据行都被删除。这样就可以清空表格模型中的数据,以便下一次重新查询并显示数据库中的数据。
在这个例子中,该代码通常用于在重新查询数据库中的数据时,先清空表格模型中的数据,然后再把查询结果添加到表格模型中。这样可以确保每次查询都是从头开始显示数据,而不是在原有数据的基础上添加新的数据。
相关问题
while(mm.getRowCount()>0){ mm.removeRow(mm.getRowCount()-1); }
这段代码的作用是删除DefaultTableModel对象mm中的所有数据行。具体实现是在while循环中,通过调用mm.getRowCount()方法获取当前表格模型中的行数,然后依次从最后一行开始删除,直到表格模型中的所有行都被删除。具体删除操作是通过调用mm.removeRow(int row)方法实现的,其中row参数指定要删除的行的索引。
在Java中,DefaultTableModel类提供了一些方法来操作表格数据,包括添加、删除、修改和查询等。在这段代码中,通过循环调用removeRow()方法,实现了快速清空表格数据的功能。
if (SnoText.getText().length()==0&&SnameText.getText().length()>0&&SdeptText.getText().length()==0) { Statement statement = connection.createStatement(); String sql = "update ade set name=" + "'" + SnameText.getText() + "'" + "where remark" + "=" + "'" + DnoText.getText() + "'"; statement.executeUpdate(sql); PreparedStatement state; ResultSet resultSet; state = connection.prepareStatement("select *from ade"); 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); } }对这段代码进行详细注释
这段代码是一个Java程序中的一部分,主要用于更新数据库中的数据,并在更新后重新显示到表格中。以下是对代码的详细注释:
```
if (SnoText.getText().length()==0&&SnameText.getText().length()>0&&SdeptText.getText().length()==0) {
// 判断输入框中的文本是否符合要求
Statement statement = connection.createStatement(); // 创建一个 Statement 对象
String sql = "update ade set name=" + "'" + SnameText.getText() + "'" + "where remark" + "=" + "'" + DnoText.getText() + "'"; // 创建 SQL 语句
statement.executeUpdate(sql); // 执行 SQL 语句
PreparedStatement state; // 创建一个 PreparedStatement 对象
ResultSet resultSet; // 创建一个 ResultSet 对象
state = connection.prepareStatement("select *from ade"); // 创建 SQL 查询语句
resultSet = state.executeQuery(); // 执行 SQL 查询语句
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); // 将数组中的数据添加到表格中
}
}
```
这段代码主要涉及到了以下几个方面:
1. 判断输入框中的文本是否符合要求,满足要求才能执行更新操作。
2. 创建一个 Statement 对象,并使用 SQL 语句更新数据库中的数据。
3. 创建一个 PreparedStatement 对象,并使用 SQL 查询语句查询数据库中的数据。
4. 清空表格,将查询结果重新显示到表格中。
在此代码中,`SnoText`、`SnameText` 和 `SdeptText` 分别表示输入框中的三个文本框,`connection` 表示数据库连接对象,`mm` 是一个 DefaultTableModel 对象,用于管理表格中的数据。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)