Premettendo che uso mysql 5 e driver jdbc mysql-connector-java-3.1.10-bin.jar ho creato un db e un file di test per vedere se il tutto funziona.
Questo è il codice di test
Class.forName("com.mysql.jdbc.Driver").newInstance ();
conn = DriverManager.getConnection(DBUrl, DBuser, DBpass);
// get a new statement object
stmt = conn.createStatement();
// and execute a simple query
ResultSet rs = stmt.executeQuery("SELECT * FROM museum_path");
int dat;
while (rs.next()){
//ottiene il dato
dat = rs.getInt("id_path");
//stampa a video
out.println(dat);
}//while
conn.close();
%>
</body></html>
e questo è l'errore
Error during query: Unexpected Exception: java.lang.ArrayIndexOutOfBoundsException message given: 35
sapete cosa può essere. In questo caso id_path è una chiave.
Grazie
Ultima modifica di sql : 26-09-2005 alle ore 12.01.58
Il messaggio è tipico,
qualcuno da qualche parte ha indicato un indice di array (35) mentre questo array è più corto. In questo caso viene sollevata una ArrayIndexOutOfBoundsException, letteralmente tradotto "indice di array fuori dai limiti".
Ma sono quasi sicuro che NON ACCADE nel pezzo di codice che hai indicato ma altrove...
quindi non posso dirti cosa correggere...
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
Beh, sicuramente controlla tutto il codice della pagina che ti lancia questa eccezione (che te lo dico a fare? )
soprattutto dove si esegue una iterazione, dove usi array o dove usi classi che sotto sotto usano un array, dunque controlla le iterazioni (do while, for..) che fai, oppure punti dove direttamente tenti di reperire un indice di un array o collezione che li usa.
Mentre invece nel pezzo di codice che hai postato l'iterazione è SICURA, visto che fai un loop "while" dipendente dal fatto che esistano successivi (rs.next() ) elementi nella collezione, in questo caso il resultset.
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
il problema che è non ho incluso altri file quindi quello che ho postato è tutto il file (non ci sono altre iterazione).
A questo punto non so dov' è il problema. Puo' essere perchè uso mysql5 (non l'ho mai provato)?