
Originariamente inviata da
andbin
Il punto è che per poter istanziare correttamente un Object[][] dovresti sapere a priori quante righe avrai nel result-set. Questo è anche possibile (es. con una query di "count" ad esempio) ma allunga un po', oltre al fatto che potrebbe non essere la soluzione migliore.
Nel tuo caso ti conviene:
1) Usare un List<Object[]> da cui poi ottieni alla fine un Object[][]
oppure
2) Usare un Vector di Vector di Object.
Entrambe le strutture sono appropriate per JTable o direttamente per DefaultTableModel.
I due casi con codice "abbozzato" e minimale (lo completi tu

).
1)
codice:
List<Object[]> listRighe = new ArrayList<Object[]>();
while (rs.next()) {
String nome = rs.getString("Nome");
String cognome = rs.getString("Cognome");
listRighe.add(new Object[] { nome, cognome });
}
Object[][] datiTabella = listRighe.toArray(new Object[0][]);
2)
codice:
Vector datiTabella = new Vector();
while (rs.next()) {
String nome = rs.getString("Nome");
String cognome = rs.getString("Cognome");
Vector riga = new Vector();
riga.add(nome);
riga.add(cognome);
datiTabella.add(riga);
}
In entrambi i casi, alla fine hai 'datiTabella' con tutti i dati.