Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 只有最后一个值是从jTable中的数据库打印的_Java_Database_Swing_Jdbc_Jtable - Fatal编程技术网

Java 只有最后一个值是从jTable中的数据库打印的

Java 只有最后一个值是从jTable中的数据库打印的,java,database,swing,jdbc,jtable,Java,Database,Swing,Jdbc,Jtable,我将把数据库中的股票记录显示到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

我将把数据库中的股票记录显示到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);
}

首先,JavaDocs清楚地表明,两个int值按顺序表示行和列

因此,根据您的示例,您正在更新第1、2、3和4行的第一列

其次,应避免为此使用
setValueAt
,而是将行添加到
TableModel


查看更多详细信息

首先,JavaDocs清楚地显示,两个int值按顺序表示行和列

因此,根据您的示例,您正在更新第1、2、3和4行的第一列

其次,应避免为此使用
setValueAt
,而是将行添加到
TableModel


查看更多详细信息

尝试给出如下代码所示的增量行

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;
}

尝试给出如下代码所示的增量行

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;
}

什么是
Stock\u表
?要更快地获得更好的帮助,请发布一个(最小完整和可验证的示例)。什么是
Stock\u表
?要更快地获得更好的帮助,请发布一个(最小完整和可验证的示例)。