java - 将 vector 添加到现有的 jTable 以显示数据库中的记录

标签 java mysql swing vector

我开发了以下代码,

try{
         con = DriverManager.getConnection("jdbc:mysql://localhost:3306/online_store","username","password");
          if(con != null){

                String query = "SELECT * FROM expense"; 
                rs = stmt.executeQuery(query);

                ResultSetMetaData rsmt = rs.getMetaData();
                int c = rsmt.getColumnCount(); 
                Vector column = new Vector(c);

                for(int i = 1; i <= c; i++) { column.add(rsmt.getColumnName(i)); } 
                Vector data = new Vector(); Vector row = new Vector();
                while(rs.next())
                { 
                    row = new Vector(c); 
                    for(int i = 1; i <= c; i++)
                    { 
                        row.add(rs.getString(i)); 
                     } 
                     data.add(row);
                }

              expense_table.add(data);
              //  expense_table.getColumnName(null);
               JOptionPane.showMessageDialog(null, "get details from database");
          }

}catch(SQLException ex){
     System.out.println(ex);
}

我现有的表的名称是expense_table。我需要在该表中显示数据库中的所有记录,而不更改其结构/不创建新表。除了在表中显示数据(行) vector “expense_table.add(data);”之外,一切正常。线。请告诉我有什么方法可以做到这一点。

最佳答案

I need to display all the records from database in this table without change its structure/without creating new table.

那么您就不需要从结果集中访问列名。您只需向 JTable 添加新的数据行。因此,摆脱创建“列” vector 的逻辑。

//expense_table.add(data);

您无法将 Vector 添加到 JTable。没有任何方法可以让您执行此操作,因此请删除该语句。

相反,您需要一次一行将数据添加到 DefaultTableModel 中:

//data.add(row);
DefaultTableModel model = (DefaultTableModel)expense_table.getModel();
model.addRow( row );

关于java - 将 vector 添加到现有的 jTable 以显示数据库中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32079596/

相关文章:

java - 作为批量依赖的 Maven 聚合模块

java - 在 java 中 - 对相似值进行分组

php - 使用 csv 上的文件指针

php - MySQL选择记录,统计重复项

Java 7 - JPanel PaintComponent 标题栏重叠

java - 使按钮拆分 JPanel - Java Swing

java - new ArrayList<>(Arrays.asList(...)) 返回什么?

Java 编译错误无效的 END header (错误的中央目录偏移量)

mysql - CakePHP 模型问题,如何为民意调查和测验建立表关系?

java - GUI等待键盘 "enter"并继续显示