2012-04-01 68 views
0

我得到一个“无法找到符号”错误的rowData和columnLabels。是我得到这个错误的原因,因为这两个变量没有值吗?我想,一旦我创建了数组,它们将为null,直到函数被ResultSet对象调用。ResultSet to JTable - 找不到符号

import javax.swing.*; 
import java.awt.*; 
import java.sql.*; 

public class Testing 
{ 
    public static JTable getTable(ResultSet rs) 
    { 


    //get data from the resultSet using metaData and place into the arrays 

    try 
    { 
      ResultSetMetaData metaData = rs.getMetaData(); 
       int numberOfColumns = metaData.getColumnCount(); 
      int numberOfRows = rs.getRow(); 

      String[] columnLabels = new String[numberOfColumns]; 
      Object[][] rowData = new Object[numberOfRows][numberOfColumns]; 

      for (int column = 0; column < numberOfColumns; column++) { 
       columnLabels[column]= metaData.getColumnLabel(column + 1); 
       }//end of for loop 

      for(int x = 1; x <= numberOfRows; x++) 
      { 
      for(int y = 1; y<=numberOfColumns;y++){ 
       rs.absolute(x); 
     rowData[x][y] = rs.getObject(y);} 
      }//end of loop 
    }catch(SQLException sqlException){ 
     sqlException.printStackTrace(); 
    }//end of catch 

    JTable table = new JTable(rowData,columnLabels); 
    return table; 
    }//end of getTable; 
}//end of testing 
+2

请改善您的代码格式以发布到此论坛的代码。既然你要求志愿者来帮助你,那么不要求你太多让我们难以做到这一点,对吧? – 2012-04-01 17:24:31

回答

1

你有一个范围问题。 rowData等在try块内部声明,只在try块中可见。一个可能的解决方案:在之前声明变量try块。

+0

谢谢,这有很大的帮助。 – 2012-04-01 17:33:14

+0

@ShaneKelsey:您可以通过点击[空勾号](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)来接受此答案。左边。 – trashgod 2012-04-01 23:35:35