Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SqlDataReader "Enumeration yielded no results"

Been trying to figure out, but I can't.

I execute a Stored Procedure via SqlCommand and the SqlDatareader object that is returned doesn't give me the results, however, I can see them if a explore the object in the debugger. here's an image of what I'm talking about:

See the "Result view" row

In the Result View row it says "Enumeration yielded no results" but in the path:

base -> base -> ResultView -> [0] -> Non-Public members -> _values -> [0],1,[2],[3] the results are shown.

Anyone has an idea how to get them?

This is the code I'm using to get and specific column:

if (dataReader.Read())
{
   ProjectFolderId = dataReader["ItemID"].ToString();
}

but the if is returning false.

like image 925
eliashdezr Avatar asked Jan 16 '23 04:01

eliashdezr


1 Answers

You need to be careful: a reader can only be consumed once. By having the data visible in the preview window, it is entirely likely you've consumed that data accidentally in the debugger, and it is no longer available.

Make sure it is not visible/expanded in a debugger preview window, and try again.

The _values shown is just the legacy/remains of the last row that was successfully read.

like image 200
Marc Gravell Avatar answered Jan 25 '23 07:01

Marc Gravell