Ciao Ragazzi,
ho un problema...non riesco a inserire il risultato di una query in una jtable.
Il fatto è che ho il vector con in ogni cella un campo della tabella risultante da una query inserita dall'utente.
Come faccio a inserire il contenuto di una cella del Vector in una cella della jtable?
codice:
ResultSet rs = cmd.executeQuery(qry);
ResultSetMetaData rsMeta = rs.getMetaData();
int nColonne = rsMeta.getColumnCount();
DefaultTableModel data = new DefaultTableModel();
Vector v = new Vector();
for (int i=1; i<=nColonne; i++) { //assegno i nomi alle colonne del JTABLE
data.addColumn(rsMeta.getColumnName(i));
}
while (rs.next()) { //riempo il vector
for (int i=1; i<=nColonne; i++) {
v.addElement(rs.getObject(rsMeta.getColumnName(i)));
}
}
int r = v.size()/nColonne;
Enumeration e = v.elements();
for (int i=1; i<=r; i++) {
for (int j=1; j<=nColonne; j++){
data.setValueAt(e.nextElement(), i,j);
}
}
JTable table = new JTable(data);
JScrollPane scroller = new JScrollPane(table);
JFrame tableFrame = new JFrame("Tabella Risultante");
tableFrame.add(scroller);
tableFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
tableFrame.setLocation(120,120);
tableFrame.pack();
tableFrame.setVisible(true);
rs.close();
Con le varie prove che ho fatto o mi riempe la jtable solo con la stessa riga o ricevo errore (con questo codice) "Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0" riferito al codice in grassetto
grazie