SqlDataReader如何接收数据?
问题描述:
下面的简单代码SqlDataReader的检索数据:SqlDataReader如何接收数据?
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=myDB;Integrated Security=True");
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT [t0].[ID], [t0].[Name] FROM [Persons] AS [t0]";
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Console.WriteLine(rdr["id"] + " " + rdr["name"]);
}
当代码运行,我使用SQL事件探查监测数据库。我只看到一个选择命令。
SELECT [t0].[ID], [t0].[Name] FROM [Persons] AS [t0]
如此看来SqlDataReader对象将首先检索ALL从服务器的数据,然后再一一列举。
这是真的吗?如果数据太多会怎么样?
我测试了那里,我开始阅读器,并改变了下一行,但读者并没有得到修正值。所以它似乎提前阅读。 – Paparazzi