Better use `withPreparedStatement` to ensure it's closed properly