1- Esistono soluzioni già fatte per questo (si chiamano ORM)
2- La tua soluzione funziona solo per quella query, devi modificarla per ogni query che esegui