2016-07-29 20 views
0

我正在使用JDBC在Java中运行SQL查询。我想将查询的结果存储在一个数组列表中,以便我可以将数据显示在某种图形中。我得到的打印行数与columnCount相同。这是我的代码。在arraylist中显示重复的结果java

ArrayList <String[]> result = new ArrayList<String[]>(); 
int columnCount = rset.getMetaData().getColumnCount(); 
     if(rset!=null) 
     { 
      while(rset.next()) 
      { 
       found=true; 

       String[] row = new String[columnCount]; 
       for (int i = 0; i < columnCount; i++) { 
        row[i] = rset.getString(i + 1);      
        row[i] = rset.getString("Date") + " " 
          + rset.getString("Hour"); 
        System.out.println(row[i]); 
       } 
       result.add(row); 
     } 
+0

它似乎你的代码需要调试! –

+0

为什么'String []'?对于一堂课不是更好吗? 'class Row {private String value;私人日期日期;/* getters和setters * /}'。为什么还要为每列获取日期和小时? –

回答

1

您的第二个row[i]重写了该列的值。只需删除它,你会看到你的记录:

... 
for (int i = 0; i < columnCount; i++) { 
    row[i] = rset.getString(i + 1);      
} 
System.out.println(Arrays.toString(row)); 
result.add(row); 
...