0

I created object in global as.

public Object[] columns2;

I am performing some operation in code as:

 Statement st = con.createStatement();
 ResultSet rs = st.executeQuery("SELECT * FROM "+Gtest+"");
 ResultSetMetaData rsmd = rs.getMetaData();
 NumOfCol = rsmd.getColumnCount();
 for(int n=0;n<NumOfCol;n++)
  {
   columns2[n]=rsmd.getColumnName(n+1);
  }

as columns2 should be like

  Object[] columns2={"FirstName","LastName","Age"};

But it is giving nullpointerexception in for loop.

What changes should be done?

4

3 に答える 3

5

You must initiate columns2 first before push there data.

columns2 = new Object[NumOfCol];
于 2013-04-28T18:28:20.090 に答える
1

columns2 を初期化していません。次のようにコードを変更できます。

 Statement st = con.createStatement();
 ResultSet rs = st.executeQuery("SELECT * FROM "+Gtest+"");
 ResultSetMetaData rsmd = rs.getMetaData();
 NumOfCol = rsmd.getColumnCount();
 columns2 = new Object[NumOfCol];
 for(int n=0;n<NumOfCol;n++)
 {
   columns2[n]=rsmd.getColumnName(n+1);
 }

これにより、コードが機能するはずです。パフォーマンスなどが重要な場合は、Arraylist などの他のデータ構造を調べます。

于 2013-04-28T18:32:11.780 に答える