分享

ResultSet的JTable显示

 鬼迷心窍 2007-12-19
 ResultSet的JTable显示     CSDN Blog推出文章指数概念,文章指数是对Blog文章综合评分后推算出的,综合评分项分别是该文章的点击量,回复次数,被网摘收录数量,文章长度和文章类型;满分100,每月更新一次。

 

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.util.Vector;

 

import javax.swing.JOptionPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

 

public class Utilities {

    /**

     * 功能:实现结果集的表格显示

     */

    public static void displayResultSet(JTable table, ResultSet rs)

            throws SQLException {

        //

        rs.beforeFirst();// 指针移到第一条记录前面

        boolean hasRecords = rs.next();

 

        if (!hasRecords) { // 记录集为空,提示一条消息

            JOptionPane.showMessageDialog(table, "无相关记录", "Check your input!",

                    JOptionPane.ERROR_MESSAGE);

            return;

        }

 

        Vector<String> columnHeads = new Vector<String>();// 用于存储表头字段(列名)

        Vector<Vector> rows = new Vector<Vector>();// 用于存储记录行

        try {

            // 获取字段的名称

            ResultSetMetaData rsmd = rs.getMetaData();

            for (int i = 1; i <= rsmd.getColumnCount(); ++i)

                columnHeads.addElement(rsmd.getColumnName(i));

 

            do {// 获取记录集

                rows.addElement(getNextRow(rs, rsmd));

            } while (rs.next());

            // 建立相应的TableModel,并将TableModel应用到Table中显示出来

            DefaultTableModel model = new DefaultTableModel(rows, columnHeads);

            table.setModel(model);

            return;

        } catch (SQLException exc) {

            JOptionPane.showMessageDialog(table, exc.toString(),

                    "Check your input!", JOptionPane.ERROR_MESSAGE);

            return;

        }

    }

 

    /**

     * displayResultSet(JTable table, ResultSet rs)调用, Vector形式返回一个记录行

     */

    private static Vector getNextRow(ResultSet rs, ResultSetMetaData rsmd)

            throws SQLException {

        Vector<String> currentRow = new Vector<String>();

        for (int i = 1; i <= rsmd.getColumnCount(); ++i)

            currentRow.addElement(rs.getString(i));

        return currentRow; // 返回一条记录

    }

 

}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多