Hum, nel secondo che hai postato così ad occhio non saprei dirti l'errore se non (ma non sono sicuro) che forse chiudi la connessione al db troppo presto.

Ma se funziona il primo va bene no? :P