我将把数据库中的库存记录显示为jTable。但是当我从数据库中检索值到jTable时,它只显示最后一个值。
while(rs.next())
{
String vendor = rs.getString("VENDOR");
String p_type = rs.getString("P_TYPE");
String p_name= rs.getString("P_NAME");
String units = rs.getString("UNITS");
String unit_price = rs.getString("UNIT_PRICE");
Stock_Table.setValueAt(vendor, 1, 0);
Stock_Table.setValueAt(vendor, 2, 0);
Stock_Table.setValueAt(vendor, 3, 0);
Stock_Table.setValueAt(vendor, 4, 0);
}
答案 0 :(得分:4)
首先,JavaDocs清楚地显示setValueAt(Object, int, int)
两个int值表示该顺序中的行和列。
因此,根据您的示例,您要更新第1,2,3和4行的第一列。
其次,您应该避免将setValueAt
用于此目的,而是将行添加到TableModel
请查看How to Use Tables了解详情
答案 1 :(得分:1)
尝试给出增量行,如下面的代码。
int currentRow=1;
while(rs.next())
{
String vendor = rs.getString("VENDOR");
String p_type = rs.getString("P_TYPE");
String p_name= rs.getString("P_NAME");
String units = rs.getString("UNITS");
String unit_price = rs.getString("UNIT_PRICE");
Stock_Table.setValueAt(vendor,currentRow, 1);
Stock_Table.setValueAt(vendor,currentRow, 2);
Stock_Table.setValueAt(vendor,currentRow, 3);
Stock_Table.setValueAt(vendor,currentRow, 4);
currentRow+=1;
}