打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ResultSet的JTable显示
 ResultSet的JTable显示
  
  

 

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; // 返回一条记录

    }

 

}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
程序员之家
如何取得表结构,然后自动生成数据
Java网页数据采集器[下篇-数据查询]
JDBC连接数据库返回结果集的Key值
JSP,JAVA查看数据库表结构
欢迎光临 - 琳婕小筑-老猫的理想 - JSP中SQL数据库编程技术 -
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服