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

Posted

技术标签:

【中文标题】如何在 Java swing 中查看数据库结果集【英文标题】:How to view database resultset in Java swing 【发布时间】:2012-07-31 06:45:55 【问题描述】:

?我的选择是

    jeditorpane jtable.

查看该文件后,我想将文件保存在.rtf.pdf 中。这在 Java 桌面应用程序中怎么可能实现?

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

【问题讨论】:

如果你想和第三者一起,我可以告诉你 到目前为止你做了什么?任何研究任何代码? 【参考方案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

【讨论】:

以上是关于如何在 Java swing 中查看数据库结果集的主要内容,如果未能解决你的问题,请参考以下文章

Java Swing学习

Java SE Swing通知[关闭]

如何在 Java Swing 应用程序的默认浏览器中打开 HTML 文件?

Java案例:Swing摇奖器

Java Swing - 如何在另一个面板上显示一个面板?

JAVA Eclipse如何安装Swing