java - 在 SWING 框架中显示 MySQL 表

标签 java mysql swing jdbc

连接数据库后...

ResultSet result = stmt.executeQuery("SELECT * FROM `students`"); /*stmt is a Statement*/
ResultSetMetaData md = result.getMetaData();
int columnCount = md.getColumnCount();
Vector columns = new Vector(columnCount);
Vector data = new Vector();
Vector row = new Vector(columnCount);

for(int i=1; i<=columnCount; i++){
   columns.add(md.getColumnName(i));
}

while(result.next()){
  for(int j=1; j<=columnCount; j++){
    row.add(result.getString(j));
    data.addElement(row);
  }
}

JTable table = new JTable(data, columns);   /* Bla Bla Bla about the Table... */

此代码显示了 SWING 框架上的 MySQL 表,但只有第一行是重复的。为什么?

最佳答案

发生这种情况是因为您对所有行使用了 Vector row = new Vector(columnCount); 的一个实例。像下面这样更改您的代码:

while (result.next()) {
        Vector row = new Vector(columnCount);
        for (int j = 1; j <= columnCount; j++) {
            row.add(result.getString(j));

        }
        data.addElement(row);
    }

关于java - 在 SWING 框架中显示 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25180775/

相关文章:

java - 如何从java验证SSL?

mysql - 解决 MySQL 排名中的联系问题

php - 无法选择特定 ID 来编辑 PHP 中的数据

mysql - 根据最后插入的内容更改自动增量值

java - 必需的空布局,用于绘图 + 标签

java - 突出显示特定行 "person",表格旁边的 `TextArea` 将显示有关该人 "row"的一些文本..,并且每行都不同..!

java - 当 Swing Timer 启动时,ActionListener 类不断重复

java - 当我使用 parcelable 接口(interface)读/写 boolean 值时,会发生空对象引用,为什么?

java - OSGi 上的 PostgreSQL 连接器

java - 递归排序,使用两个函数