2012-04-01 9 views
0

rowDataとcolumnLabelsの "シンボルを見つけることができません"というエラーが表示されます。この2つの変数にはまだ値がないので、私はこのエラーが出ているのですか?配列を作成したら、その関数がResultSetオブジェクトで呼び出されるまでnullになると考えました。JTableへのResultSet - シンボルを見つけることができません

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

このフォーラムに投稿されたコードのコード形式を改善してください。あなたがボランティアにあなたを助けてくれるように依頼しているので、私たちがこれをやるのが難しくないようにあなたに求めているのではないでしょうか? –

答えて

1

スコープに問題があります。 rowDataなどはtryブロック内で宣言されており、tryブロックでのみ表示されます。考えられる解決策:の前に、tryブロックのを宣言してください。

+0

ありがとう、それは多くの助けになります。 –

+0

@ShaneKelsey:[空のチェックマーク](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)をクリックすると、この回答を受け入れることができます。左。 – trashgod

関連する問題