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
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());
}
}
ottengo questo errore:
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)
la linea incriminata nel metodo connettiaAlDb è questa:
tabella.setValueAt(res.getString("testata"),i,1);
il metodo setValueAt() non va bene?
qualcuno saprebbe aiutarmi?
Grazie!