JTable无法显示数据库数据

JTable无法显示数据库数据

下面是部分代码(数据库已经成功连接上了,数据可以添加进去,但是没办法显示)

try {
            String sql = "select * from service";
            conn = new JDBC().getConnection();
            statement = conn.createStatement();
            result = statement.executeQuery(sql);
            boolean records = result.next(); //定位到第一条记录
            if(!records) {
                JOptionPane.showMessageDialog(null,"无保修记录","提示",JOptionPane.INFORMATION_MESSAGE);
                return;
            }
            line = new Vector();
            linename = new Vector();
                data=result.getMetaData(); //获得result结果集中列属性信息
                for(int i = 1 ; i <= data.getColumnCount() ; i++) {
                    linename.addElement(data.getColumnName(i)); //获得列名
                }
                do {
                    Vector linedata = new Vector(); //存放记录
                    for(int i = 1 ; i <= data.getColumnCount() ; i++) {
                        linedata.addElement(result.getString(i)); //获取记录
                    }
                } while(result.next()); //利用循环获得所有记录
                table = new JTable(line,linename);
                table.setBackground(Color.YELLOW);
                table.setFillsViewportHeight(true);
                Pane = new JScrollPane(table); //创建带有滚动条的面板,并将表格视图加入
                Pane.setBounds(0, 291, 481, -284);
                getContentPane().add(Pane);
                if(result != null) { 
                    result.close();
                }
                if(statement != null) {
                    statement.close();
                }
                if(conn != null) {
                    conn.close();
                }
            } catch(Exception se) {
                se.printStackTrace();
            }

可能的原因是,没有将创建的行数据添加到行向量中。可以在下面的位置添加一行代码来将行添加到行向量中:

line.addElement(linedata);

此外还可能需要在代码中添加一些初始化和更新代码,以便将新的查询结果显示在表中。例如可以在加载数据之后调用 table.updateUI() 方法来更新表格的外观。
望采纳。

public JTable(Object[][] rowData,Object[] columnNames)这是构造函数,感觉传入的参数不对。希望有帮助。