如何在Java swing中查看数据库结果集

时间:2012-07-31 06:45:55

标签: java swing jdbc jtable jeditorpane

如何在Java swing中查看数据库结果集?我的选择是

  1. 的JEditorPane
  2. 的JTable。
  3. 查看该文件后,我想将文件保存在.rtf.pdf中。这在Java桌面应用程序中是如何实现的?

    注意:请勿使用第三方API或库

2 个答案:

答案 0 :(得分:2)

查看结果 - JTable是您的最佳选择

保存结果,除非你想使用第三方库,否则你的选项非常有限,除非你非常熟悉你想要使用的各种文件格式。

开箱即用,我说CVS很容易实现。

答案 1 :(得分:2)

JTable会做得最好,这是ResultSet

上显示JTable的代码
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);

}

如果不使用第三方API

> >