Ciao a tutti,
Ho un problema con una jTable...
Io prima eseguo una SELECT in un database, e poi cerco di inserire il risultato in una jTable.
La query funziona perfettamente e se stampo i vettori con println, non c'è nesun problema (DOVE HO SCRITTO ******* QUI ******* nel commento del codice)....
Quando invece li inserisco in tabella, vedo lo stesso vettore ripetuto n volte....
Dove sto' sbagliando??? Mi sembra assurdo....codice:class ItemChangeListener implements ItemListener{ public void itemStateChanged(ItemEvent e){ if (e.getStateChange() == ItemEvent.SELECTED){ cant = e.getItem().toString(); try { Connection con = DriverManager.getConnection(URL); SQL = "Select Ore FROM Cantiere where nome = '" + cant + "'"; Statement stm = con.createStatement(); ResultSet rs = stm.executeQuery(SQL); rs.next(); ore.setText(rs.getString("Ore")); Connection conn = DriverManager.getConnection(URL); Statement sstm = conn.createStatement(); SQL = "SELECT materiale.Codice , materiale.Descrizione , acquisto.tot , materiale.mef, materiale.luc, materiale.alt , bolla.ditta FROM materiale,acquisto,cantiere,bolla WHERE materiale.Codice = acquisto.cod AND acquisto.nbo = bolla.num AND bolla.Cantiere = '" + cant + "'"; ResultSet nrs = sstm.executeQuery(SQL); Vector v = new Vector(); int j = 0 ; data.setRowCount(0); while(nrs.next()){ v.clear(); v.add(nrs.getString("materiale.Codice")); v.add(nrs.getString("materiale.Descrizione")); v.add(nrs.getString("acquisto.tot")); if (nrs.getString("bolla.ditta").equals("Lucciola")){ v.add(nrs.getString("materiale.luc")); } else if (nrs.getString("bolla.ditta").equals("Meff")) { v.add(nrs.getString("materiale.mef")); } else { v.add(nrs.getString("materiale.alt")); } // *********** QUI **************** data.addRow(v); j++; } jTable1.setModel(data); con.close(); conn.close(); } catch (SQLException ex) { Logger.getLogger(vis_cantiere.class.getName()).log(Level.SEVERE, null, ex); } } } }

Rispondi quotando
