salve a tutti
premetto che sto iniziando a studiare l'interfacciamento tra java e mysql...
ho scritto questo metodo che mi serve per collegarmi al DB, fare la query ed inserire i dati in una JTable, ma non riesco a capire come fare per indicare al programma in quale riga inserire i dati ricavati
ottengo questo errore:codice:public static void connettiAlDb() { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); } catch (Exception E) { System.err.println("Impossibile caricare il driver"); E.printStackTrace(); } try { System.out.println("Connessione..."); Connection c = DriverManager.getConnection("jdbc:mysql://localhost/edicola?user=ilc0rv0"); System.out.println("Connesso: " + c); Statement stmt = c.createStatement(); ResultSet res = stmt.executeQuery("SELECT * FROM quotidiani"); //int righe = res.getFetchSize(); JTable tabella = new JTable(); int i=0; while (res.next()) { tabella.setValueAt(res.getString("testata"),i,1); tabella.setValueAt(res.getString("pr_netto"),i,2); i++; } } catch (SQLException E) { System.out.println ("SQLException: " + E.getMessage()); System.out.println ("SQLState: " + E.getSQLState()); System.out.println ("VendorError: " + E.getErrorCode()); } }
la linea incriminata nel metodo connettiaAlDb è questa:Connessione...
Connesso: com.mysql.jdbc.Connection@12b7eea
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 >= 0
at java.util.Vector.elementAt(Vector.java:431)
at javax.swing.table.DefaultTableColumnModel.getColum n(DefaultTableColumnModel.java:277)
at javax.swing.JTable.convertColumnIndexToModel(JTabl e.java:1680)
at javax.swing.JTable.setValueAt(JTable.java:1794)
at struttura.connettiAlDb(struttura.java:47)
at struttura.main(struttura.java:18)
il metodo setValueAt() non va bene?tabella.setValueAt(res.getString("testata"),i,1);
qualcuno saprebbe aiutarmi?
Grazie!

Rispondi quotando