无法从 Reader 读取数据
Posted
技术标签:
【中文标题】无法从 Reader 读取数据【英文标题】:unable to read data from the Reader 【发布时间】:2014-06-20 12:43:54 【问题描述】:我正在尝试显示来自Reader
的数据,但没有读取它。当我使用step over / F10
调试代码时,它会跳过这一行
trackCollection.Add(track);
直接进入这个:
Reader.Close();
另外,我在末尾添加了一个 exception
以查看发生了什么,但它也跳过了它并转到 return
并返回 0 条记录。而记录超过 5 万条记录。
异常代码:
catch (Exception ex)
Console.WriteLine(ex.Message);
return trackCollection;
任何关于它为什么不从reader
读取数据以及如何让它工作的帮助都会很棒:) 谢谢。
【问题讨论】:
试试这个:在 Visual Studio 中,在再次调试代码之前执行Build->Clean Solution
。有时不同步的程序集和 PDB 文件会导致 IDE 跳过代码行,因为它没有最新的调试符号。
您也可以试试这个:在Test
菜单项中,选择Test Settings
并确保所有.testsettings
文件都未选中。在单步执行代码时,选择的.testsettings
文件可能会造成严重破坏(例如,取决于测试设置文件是否启用了代码覆盖)。
@JasonEvans 对此表示感谢 - 我完全按照您的建议执行了清理解决方案和检查测试设置的操作。谢谢你,我不知道.testsettings
bit,但你说得很清楚。尽管如此,问题仍然存在,它不会让我在调试时跨过该特定行。再次感谢:)
好的,让我们检查一下插件 - 项目是使用 DEBUG 还是 RELEASE 构建?
其实,我发现很多 *** 问题都有类似的症状。只是谷歌“Visual Studio 调试器跳线”,你会看到很多 SO 命中。希望其中之一可能会有所帮助。
【参考方案1】:
数据源中可能有 50k 条记录,但您执行的查询返回其中 0 条。 while
块内的代码被跳过,因为 dataReader.Read()
返回 false。
【讨论】:
谢谢 :) 你能帮我解决这个问题吗? @user3679123 您应该修改查询(和/或参数值,如果您使用它们)以返回至少一条记录。在调试时,您可以检查dbCommand.CommandText
以查看它是否使用了您期望的查询。
感谢您的帮助 :) 通过删除不必要的参数解决了问题。 :)以上是关于无法从 Reader 读取数据的主要内容,如果未能解决你的问题,请参考以下文章