【发布时间】:2014-04-09 11:13:08
【问题描述】:
我在 Swing 中使用 Netbeans GUI 设计了一个 Jtable。现在根据我的要求,我必须将数据库表值显示到 jtable 中。
这是我的代码..
Statement statement = (Statement) con.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
ResultSetMetaData metaData = (ResultSetMetaData) resultSet.getMetaData();
DefaultTableModel dtm = new DefaultTableModel();
int columns = metaData.getColumnCount();
Vector Column_Name = new Vector();
Vector data_rows = new Vector();
for (int i = 1; i < columns; i++) {
Column_Name.addElement(metaData.getColumnName(i));
}
dtm.setColumnIdentifiers(Column_Name);
while (resultSet.next()) {
data_rows = new Vector();
for (int j = 1; j < columns; j++) {
data_rows.addElement(resultSet.getString(j));
}
}
dtm.addRow(data_rows);
jTable1.setModel(dtm);
resultSet.close();
当表中有这么多行时,为什么这段代码只将我的数据库的一行显示到 jtable 中。 请帮我解决这个问题。
【问题讨论】:
-
在循环外声明
data_rows = new Vector();。 -
@AbhikChakraborty 从这里删除并声明为 Vector data_rows = new Vector();在循环之外..仍然是同样的问题