【问题标题】:How to view database resultset in Java swing如何在 Java swing 中查看数据库结果集
【发布时间】:2012-07-31 06:45:55
【问题描述】:
如何在 Java swing 中查看数据库结果集?我的选择是
- jeditorpane
- jtable.
查看该文件后,我想将文件保存在.rtf 或.pdf 中。这在 Java 桌面应用程序中怎么可能实现?
注意:请勿使用第三方 API 或库
【问题讨论】:
标签:
java
swing
jdbc
jtable
jeditorpane
【解决方案1】:
查看您的结果 - JTable 是您的最佳选择
保存结果,好吧,除非您想使用第三部分库,否则您的选择非常有限,除非您非常熟悉要使用的各种文件格式。
开箱即用,我想说 CVS 很容易实现。
【解决方案2】:
JTable 会做得最好,这是在JTable 上显示ResultSet 的代码
public static void main(String[] args) throws Exception {
// The Connection is obtained
ResultSet rs = stmt.executeQuery("select * from product_info");
// It creates and displays the table
JTable table = new JTable(buildTableModel(rs));
JOptionPane.showMessageDialog(null, new JScrollPane(table)); // or can you other swing component
// Closes the Connection
}
方法buildTableModel:
public static DefaultTableModel buildTableModel(ResultSet rs)
throws SQLException {
ResultSetMetaData metaData = rs.getMetaData();
// names of columns
Vector<String> columnNames = new Vector<String>();
int columnCount = metaData.getColumnCount();
for (int column = 1; column <= columnCount; column++) {
columnNames.add(metaData.getColumnName(column));
}
// data of the table
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
while (rs.next()) {
Vector<Object> vector = new Vector<Object>();
for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
vector.add(rs.getObject(columnIndex));
}
data.add(vector);
}
return new DefaultTableModel(data, columnNames);
}
如果不使用 3rd 方 api