I don't see anything wrong with the query you are trying to use.
Despite that however, this should be failing for a different reason: you can't have 2 data readers open at the same time.
Also, reviewing your code, I'd say you are making this more complicated than it needs to be. You are first asking for a count of records, then asking for the records. Why not just ask for the records? You'll know if you get no records back because .Read() will be false.
-
Peter