Witam wszystkich, mam problem z utworzeniem tabeli opierając się o zwracane dane z metadata SQL, jednym słowem nie mogę dociec gdzie leży problem :(
void count() {
try {
Statement st = co.c.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM SAMOCHODY");//"+tabel.getSelectedItem()+"");
ResultSetMetaData mdata = rs.getMetaData();
int columns = mdata.getColumnCount();
int c = 0;
while(rs.next()){c++;}
System.out.println(c);
System.out.println(columns);
names = new String[columns-1];
for(int i=2;i<=columns;i++)
{
int a = i-2;
names[a] = mdata.getColumnName(i);
System.out.print(a+" ");
System.out.println(names[a]);
}
data = new Object[columns-1][c];
rs.beforeFirst();
int j = 0;
while(rs.next())
{
for(int i=2;i<=columns;i++)
{
int b = i-2;
data[b][j] = rs.getString(i);
System.out.print(j+","+b+" ");
System.out.print(data[b][j]+" ");
}
j++;
}
}catch(SQLException sql){}
table = new JTable(data,names);
}
Wciąż wyrzuca błąd:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2 :-[