Reputation: 565
I have designed a Jtable using Netbeans GUI in Swing.Now as per my requirement i have to display database table values into jtable.
Here is my code ..
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();
Why is this code displaying only one row of my database into jtable when there so many rows in the table. Please help me to solve this.
Upvotes: 0
Views: 1692
Reputation: 8657
Each time you overwrite you data, because you have added the row just one time, which is currently after the while loop
So try to move the adding of row data in the loop like:
while (resultSet.next()) {
data_rows = new Vector();
for (int j = 1; j < columns; j++) {
data_rows.addElement(resultSet.getString(j));
}
dtm.addRow(data_rows);
}
Upvotes: 1