为什么要对数据读取器使用空循环?

时间:2019-06-02 12:07:32

标签: c# sql

我正在制作一个n层Web应用程序,并创建了一种将数据添加到特定数据库的方法。我的问题是建立数据库连接并执行查询时,为什么没有任何内容的DataReader对象存在循环。这是我的方法:

while (myReader.Read())
{

}

2 个答案:

答案 0 :(得分:3)

DataReader不会一次获取数据,它只会在您调用Read方法时开始读取记录。实际上,read方法将SqlDataReader推进到下一条记录,因此,如果有更多行,它将返回true。否则为false

while(dataReader.Read()) // true if there are more rows; otherwise false.
{
    // code to run
}

您可以在MSDN中阅读有关内容。

答案 1 :(得分:0)

myReader.Read()如果有更多行,则为true;否则为false。否则为假。

引用:https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqldatareader.read?view=netframework-4.8