我收到rowData和columnLabels的“找不到符号”错误。我收到此错误的原因是因为这两个变量还没有值吗?我想,一旦我创建了数组,它们将为null,直到使用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
答案 0 :(得分:1)
你有一个范围问题。 rowData等在try块内声明,只在try块中可见。一种可能的解决方案:在 try块之前声明变量。