Credo che il problema stia nel fatto che stai tentando di fare una cosa che non puoi: stai cercando di eseguire una INSERT (query di aggiornamento) utilizzando un metodo che server per eseguire delle SELECT (query di interrogazione). Inoltre stai cercando di avere un risultato dalla INSERT (che di solito è il numero di righe inserite e non certo un ResultSet dei dati inseriti).
Dovresti, secondo me, modificare l'istruzione
codice:
ResultSet r=s.executeQuery(query);
con questa
codice:
int num = s.executeUpdate(query);
Ciao.