Quote Originariamente inviata da andbin Visualizza il messaggio
Innanzitutto executeQuery ti fornisce un ResultSet che rappresenta un insieme di righe come risultato della query eseguita. Il ResultSet lo si scorre per prendere tutte le righe, tipicamente in avanti con un ciclo while che sfrutta il next() del ResultSet.
Per ogni record devi prendere i dati delle colonne risultanti dalla select. Qui devi decidere tu se fare una estrazione specifica oppure generica. Cioè se ti aspetti e sai quante colonne ci sono, quali nomi hanno, che tipo hanno, ecc... oppure se vuoi fare qualcosa di generico che andrebbe bene per più select, andando a prendere i "meta" dati del ResultSet, cioè le informazioni sui dati delle colonne.

Ora passiamo a JTable. Esso si basa su un "table model" che è la entità (oggetto) che contiene ed "espone" i dati verso la tabella (o chiunque altro che ne abbia bisogno). Questo è un argomento abbastanza complesso. Un table model è rappresentato dalla interfaccia TableModel. Esiste una implementazione predefinita che è DefaultTableModel, che ha una struttura molto generica fatta da un Vector di Vector di Object. Ma di table model se ne possono implementare anche di "custom", personalizzati, tipicamente estendendo AbstractTableModel.

Il punto è la scelta del table model che dipende da che cosa hai "in mano" per rappresentare le righe. Se hai fatto una estrazione specifica su una tabella PERSONA, potresti creare oggetti di classe Persona con le varie proprietà popolate con i valori delle colonne. Se alla fine dello scorrimento sul ResultSet hai es. un List<Persona> o un Persona[], questi non li puoi usare con es. DefaultTableModel, perché DefaultTableModel ha una struttura meno tipizzata e più generica. Dovresti implementare un tuo table model apposito.

Se invece gestisci per le righe es. un Object[] o un Vector<Object>, insomma più vicini al concetto di DefaultTableModel, allora questo puoi usarlo.

Comunque, se non hai mai usato JTable/table model il consiglio è di non partire in quarta .... e invece di documentarti bene ad esempio con il tutorial ufficiale: How to Use Tables.

Salve, sono riuscito a scorrere la lista della seguente query ("SELECT*FROM NOMETABELLA");

il problema e che usando
codice:
JTable table = new JTable(data, columnNames);
;

la colonna sono riuscito a passarla mentre la data non riesco a passarla

codice:
while(rs.next()){

String Nome2 = rs.getString("");
Come posso passare ogni elemento astratto dalla query a Object[][]?