per forza, ti fumi tutto il recordset con quella genialata:

codice:
while (rs.ext()) {
  i++;
}
Quando esce da lì, il recordset è bello che finito e il prossimo rs.next lo salta in tronco perché è già alla fine. Prova a riavvolgere il rs