连接数据库后...
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/