Aiuto con la tesina (java+database)

NicoZ96

Utente Attivo
1,039
118
CPU
i5 9600 K
Dissipatore
Be Quiet! Dark Rock Pro 4
Scheda Madre
Msi Z390 Gaming Plus
HDD
Seagate Barracuda 1Tb x2, SSD Samsung 640EVO 120Gb, SSD Kingstone 120Gb, SSD Samsung 860EVO 500Gb
RAM
DDR4 2x8Gb 3000MhZ Corsair Vengeance
GPU
MSI RTX 2080 Gaming X Trio
Audio
Creative Sound Blaster Z
Monitor
Samsung C24FG70 144Hz FHD
PSU
Cooler Master v650 Semi Modular
Case
Cooler Master Haf XM
Periferiche
Razer Deathadder Elite, Corsair K95 RGB Platinum, Logitech G27, Controller Xbox 360(PC), Razer Wildcat
OS
Windows 10
public void caricaTabella() throws FileNotFoundException, IOException, SQLException {
try {
int i = 0, j = 0;
Class.forName("com.mysql.jdbc.Driver");
Connection cnt = DriverManager.getConnection("jdbc:mysql://localhost", "root", "");
cnt.setCatalog("tesina"); //nome del database
Statement st = cnt.createStatement();
ResultSet rt= st.executeQuery("SELECT Nome, Cognome, ID, Appunti FROM studente ORDER BY Cognome, Nome;");
for(i=0 ;rt.next();i++){
setValueAt(rt.getObject("Cognome", String.class),i, 1);
setValueAt(rt.getObject("Nome", String.class),i, 2);
setValueAt(rt.getObject("Appunti", String.class),i, 3);
Statement stvoti = cnt.createStatement();
ResultSet rtvoti= stvoti.executeQuery("SELECT Valore FROM studente, voto WHERE voto.ID_Studente = "+rt.getObject("ID", Integer.class)+";");
System.out.println("valore ID studente" + rt.getObject("ID", Integer.class));
for(j=4 ;rtvoti.next();j++){
setValueAt(rtvoti.getObject("Valore", String.class),i, j);
System.out.println("valore voto nel for" + rtvoti.getObject("Valore", String.class));
}

rtvoti.close();
stvoti.close();
}
rt.close();
st.close();
cnt.close();
} catch (ClassNotFoundException ex) {
Logger.getLogger(MyTableModel.class.getName()).log(Level.SEVERE, null, ex);
}
}


Ho incollato il metodo che mi dà problemi. I system.out erano solo per controllare cosa producesse e appunto facendolo mi sono reso conto che il ciclo for in rosso, stampa n volte lo stesso voto quante il numero di studenti, ma non riesco a capirne il perchè. Qualche idea? (se servono altre parti di codice/vedere come è fatto il database chiedete pure)
 

NicoZ96

Utente Attivo
1,039
118
CPU
i5 9600 K
Dissipatore
Be Quiet! Dark Rock Pro 4
Scheda Madre
Msi Z390 Gaming Plus
HDD
Seagate Barracuda 1Tb x2, SSD Samsung 640EVO 120Gb, SSD Kingstone 120Gb, SSD Samsung 860EVO 500Gb
RAM
DDR4 2x8Gb 3000MhZ Corsair Vengeance
GPU
MSI RTX 2080 Gaming X Trio
Audio
Creative Sound Blaster Z
Monitor
Samsung C24FG70 144Hz FHD
PSU
Cooler Master v650 Semi Modular
Case
Cooler Master Haf XM
Periferiche
Razer Deathadder Elite, Corsair K95 RGB Platinum, Logitech G27, Controller Xbox 360(PC), Razer Wildcat
OS
Windows 10
Risolto, mancava la join :cav:
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!