Похоже, что SqlDataReader читает вперед
while (rdrMainLoop.Read())
{
sID = rdrMainLoop.GetInt32(0);
nearDupID = rdrMainLoop.IsDBNull(2) ? 0 : rdrMainLoop.GetInt32(2);
sqlCmdProducer.CommandText = "update [docSVsys] set [FTSnearDupID] = '" + sID.ToString() + "' where [sID] = '" + (sID + 1).ToString() + "';";
sqlCmdProducer.ExecuteNonQuery();
}
В этом примере я обновляю следующую строку.
Но когда я выполняю .Read(), следующая строка SqlDataReader не считывает текущее значение.
Я предполагаю, что для ускорения выполняется группирование вперед.
Есть ли способ заставить SqlDataReader читать по одной строке за раз.
Я хорошо справляюсь с грязным чтением (должно быть, поскольку я могу обновить эту строку).