uhmm, intanto sposta
String query;
dentro il loop(), all'inizio.
In questo modo la variabile dovrebbe essere distrutta a fine loop, alla faccia di chi ci vuole male.
però 'sta String non è che funziona bene eh.. sarebbe da farci qualche esperimento