无法从 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 读取数据的主要内容,如果未能解决你的问题,请参考以下文章

从数据库中读取布尔值?

gin从reader读取数据

使用 Sql Server 从 C# 中的读取器读取数据

Python如何从文件读取数据

Python从文件中读取数据

Python从文件中读取数据