SqlDataReader.Read 返回值解释

本文关键字:解释 返回值 Read SqlDataReader | 更新日期: 2023-09-27 17:57:23

函数

的 MSDN 文档 SqlDataReader.Read 对返回类型说:

如果行较多,则为 true;否则为 false。

我发现这个公式具有误导性,因为它表明在Read返回后,至少可以再读取 1 行,即下一个Read应该成功但返回 false。

然而,实际上,返回

类型表示它所期望的样子,即:"如果成功读取了一行,则返回 true,否则返回 false"。

是只有我一个人,还是选择的术语完全错误?

SqlDataReader.Read 返回值解释

MSDN SqlDataReader.Read Method 声明 Read 方法 -

将 SqlDataReader 前进到下一条记录。

和退货

如果行较多,则为 true;否则为 false。

创建 SqlDataReader 对象时,它不会指向第一条记录。 需要调用 Read 方法。 如果调用成功,则 SqlDataReader 对象将指向第一条记录并返回 True。

它并不表明这是读取之后的条件。
从字面上看是的,你可以做出这种解释。
把它当作有意义的东西和你观察到的行为。

它是执行命令时的条件,而不是命令之后的条件。

当我从第二行到最后一行阅读时,条件为真。
我得到最后一排。

现在我在最后一行并发出命令读取
此时没有更多的行,返回值为 false。

如果它按照您的建议运行,则不会读取最后一行

while (Reader.Read())
{
}