如果我的data是个ResultSet类型,阁下将如何应对
时间: 2024-03-23 12:38:14 浏览: 55
如果你的数据是从数据库中读取出来的,那么可以将 ResultSet 中的数据逐行读取出来,然后将其存放在一个二维数组中,最后使用这个二维数组来创建 JTable 对象。
下面是一个示例代码,它演示了如何将 ResultSet 中的数据存放在一个二维数组中,并使用这个数组来创建一个包含四个字段的表格:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class MyTable {
public static void main(String[] args) {
// 连接数据库
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
try (Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement()) {
// 执行查询
String sql = "SELECT * FROM users";
ResultSet rs = stmt.executeQuery(sql);
// 将结果集转换成二维数组
Object[][] data = new Object[100][4];
int i = 0;
while (rs.next()) {
data[i][0] = rs.getString("first_name");
data[i][1] = rs.getString("last_name");
data[i][2] = rs.getInt("age");
data[i][3] = rs.getString("gender");
i++;
}
// 创建表头
String[] columnNames = {"First Name", "Last Name", "Age", "Gender"};
// 创建表格
JTable table = new JTable(data, columnNames);
// 创建滚动条
JScrollPane scrollPane = new JScrollPane(table);
// 创建窗口
JFrame frame = new JFrame("My Table");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(scrollPane);
frame.pack();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们首先连接了数据库,并执行了一个查询操作,将结果集存放在 ResultSet 对象 rs 中。然后,我们使用 while 循环逐行读取结果集中的数据,并将其存放在一个二维数组 data 中。最后,我们使用这个二维数组来创建 JTable 对象,并将其添加到窗口中,以显示出表格。
阅读全文