DB2DataReader 对象有数据但 HasRows 属性为 false

Posted

技术标签:

【中文标题】DB2DataReader 对象有数据但 HasRows 属性为 false【英文标题】:DB2DataReader object has data but HasRows property is false 【发布时间】:2012-12-07 22:31:38 【问题描述】:

我有一个程序使用从 C# 批处理作业调用的 DB2 存储过程。调用 .ExecuteReader() 后,Visual Studio 2010 显示数据读取器对象的 FieldCount 为“0”,HasRows 属性为“False”。

然而.. 经过进一步检查,我发现隐藏在对象深处(这是通过在调试时筛选“Locals”读数发现的),存储过程实际上是在发回数据,我需要的信息是深埋在 DB2DataReader 对象中。

由于 HasRows 和 FieldCount 属性分别为“False”和“0”,我无法使用它的任何内置方法(即 .GetString(x)、.GetValue(x).ToString (), ETC)。我无法遍历结果,因为 while(reader.Read()) 命令将始终为 false(由于 HasRows 属性)。

有没有人在使用任何类型的 DataReader 时遇到过这样的问题,或者有什么一般的建议?

【问题讨论】:

【参考方案1】:

事实证明,DB2 DataReader 并不是最好的对象。相反,我们只是在 DB2Connection 对象(在 C# 中)上调用了一个 ExecuteNonQuery() 命令,以便能够使用此方法提取数据。

【讨论】:

以上是关于DB2DataReader 对象有数据但 HasRows 属性为 false的主要内容,如果未能解决你的问题,请参考以下文章

获取一对多的核心数据关系第一次返回正确的对象,但其他时候返回空集

删除领域数据库对象,但即使所有对象都为空,领域文件大小也保持不变。并且在时间上变得太大了

drop temp table但已经创建'数据库中已经有一个名为'#temp'的对象'

尝试使用点符号在控制台中记录数据对象但它不起作用,为啥?

db4o这个对象数据库有很多优点,但为什么不是很火? 大家有没有用过db4o的?

外部模型对象的 SwiftUI 数据流和 UI 更新,其值发生变化但 id 相同