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();
}
この例では、次の行を更新しています。
しかし、I .Read() の次の行 SqlDataReader は現在の値を読み取りません。
速度のために先にバッチ処理すると思います。
SqlDataReader に一度に 1 行ずつ読み取らせる方法はありますか。
私はダーティリードが得意です(その行を更新する可能性があるため、そうする必要があります)。