SqlDataReader “Enumeration yielded no results”

这一生的挚爱 提交于 2019-12-01 18:57:03

问题


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:

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.


回答1:


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.



来源:https://stackoverflow.com/questions/13117343/sqldatareader-enumeration-yielded-no-results

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!