2012-04-01 18 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