SqlHelper Refactoring

Fixed potential DbReaderException

- Use Fetch<T> instead of Query<T> because we create another DbReader inside the loop with DoesMacroHaveParameters().