2012-04-01 2 views
0

rowData 및 columnLabels에 대해 "Can not Find Symbol"오류가 발생합니다. 두 변수에 아직 가치가 없기 때문에이 오류가 발생하는 이유는 무엇입니까? 일단 배열을 만들면 함수가 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

관련 문제