把从数据库中查询的结果显示在一个Jframe的代码
时间: 2024-03-08 17:47:50 浏览: 25
以下是一个简单的示例代码,演示如何将从数据库中查询的结果显示在 JFrame 上。需要使用 JDBC 连接数据库,并使用 Swing 组件来构建 GUI 界面。
```java
import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class DisplayTable extends JFrame {
private JTable table;
private DefaultTableModel model;
public DisplayTable() {
setTitle("Database Table");
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建表格模型
model = new DefaultTableModel();
table = new JTable(model);
// 添加表格到滚动面板
JScrollPane scrollPane = new JScrollPane(table);
getContentPane().add(scrollPane);
// 查询数据库
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM mytable");
// 将查询结果添加到表格模型中
ResultSetMetaData metaData = rs.getMetaData();
int columnCount = metaData.getColumnCount();
for (int i = 1; i <= columnCount; i++) {
model.addColumn(metaData.getColumnLabel(i));
}
while (rs.next()) {
Object[] row = new Object[columnCount];
for (int i = 1; i <= columnCount; i++) {
row[i - 1] = rs.getObject(i);
}
model.addRow(row);
}
rs.close();
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
setVisible(true);
}
public static void main(String[] args) {
new DisplayTable();
}
}
```
在上面的示例中,我们使用了一个 DefaultTableModel 来存储查询结果,并将其添加到 JTable 中。然后,我们使用 JDBC 连接数据库并执行 SQL 查询。查询结果被解析为一个二维数组,并添加到表格模型中。最后,我们将表格添加到一个 JScrollPane 中,并将其添加到 JFrame 上以显示结果。