SqlDataReader一次只评估一行

时间:2014-04-02 17:00:27

标签: .net sqldatareader

看来,在SqlDataReader的掩护下,每次都会实现抓取多行

我有一种情况,我需要一次抓一行。 在SqlDataReader循环中,我可以使用单独的SQL命令更改,插入或删除行。 我遇到的问题可能是对SqlDataReader预取的数据进行了更改,因此我得到过时的数据。 我真的不需要看到在循环中执行的插入,但如果我读它们就不会破坏任何东西。

如何让SqlDataReader.Read()从数据库中一次实际读取一行?

1 个答案:

答案 0 :(得分:2)

SQL Server在网络数据包中放置尽可能多的结果集行,并尽快将它们发送到客户端。然后,包含结果集行的数据包将缓存在客户端的网络缓冲区中,并由访问驱动程序读取 一个接一个地阅读它们并将它们发送给客户端会很慢。