看来,在SqlDataReader的掩护下,每次都会实现抓取多行
我有一种情况,我需要一次抓一行。 在SqlDataReader循环中,我可以使用单独的SQL命令更改,插入或删除行。 我遇到的问题可能是对SqlDataReader预取的数据进行了更改,因此我得到过时的数据。 我真的不需要看到在循环中执行的插入,但如果我读它们就不会破坏任何东西。
如何让SqlDataReader.Read()从数据库中一次实际读取一行?
答案 0 :(得分:2)
SQL Server在网络数据包中放置尽可能多的结果集行,并尽快将它们发送到客户端。然后,包含结果集行的数据包将缓存在客户端的网络缓冲区中,并由访问驱动程序读取 一个接一个地阅读它们并将它们发送给客户端会很慢。