Well, it's only a problem if you need the rowcount before reading, otherwise just interating the results and counting will give you what you need. Or just read everthing into a dataset and work from there
Supposing you need the rowcount when you read the first row, you can always do something like this (not that is a good idea)
SELECT [The Real Fields],COUNT(*) as Qty
WHERE [Conditions]
UNION
SELECT [The Real Fields],0 as Qty
WHERE [Conditions]
That way, when you read the first row you'll know how many rows you have available.
And yes, i know there may be better ways to do the SQL to get the rowcount without the union and duplicating queries.