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.