Ciao a tutti. Sto facendo un software in Java e MySQL 5.
Ho questa routine:
codice:
try{
Statement cat = connessioneDB.createStatement();
Statement precat = connessioneDB.createStatement();
ResultSet rsCat = cat.executeQuery("SELECT DISTINCT nomefile FROM catalogati
ORDER BY nomefile ASC;");
ResultSet rsPrecat = precat.executeQuery("SELECT nomefile FROM precatalogati
ORDER BY nomefile ASC;");
while(rsCat.next()){
while(rsPrecat.next()){
System.out.println("Catalogato: " + rsCat.getString("nomefile")
+ "\tPrecatalogato: " + rsPrecat.getString("nomefile"));
}
}
}catch(SQLException exc){System.out.println(exc.getStackTrace());}
La stampa che vedete nei due cicli annidati mi serve solo per verificare la funzionalità del ciclo in se stesso e mi sono accorto che non funziona. Praticamente il primo ciclo parte e mi restituisce il valore del primo record e poi parte il secondo ciclo che mi restituisce tutti i valori dei vari record come di seguito:
Catalogato: Pippo Precatalogato: Ciao
Catalogato: Pippo Precatalogato: Bella
Catalogato: Pippo Precatalogato: Pluto
Catalogato: Pippo Precatalogato: Topolino
ecc...
Però il primo ciclo fa un passaggio solo...cioè cicla una sola volta. Come mai?
Praticamente fa il primo passaggio, poi si ferma per far lavorare il ciclo annidato e poi basta...finisce e non va avanti senza dare nè errori, nè eccezioni...esce normalmente dalla routine come se effettivamente avesse finito il suo lavoro.