sql(dr) 正在发送丢失的结果

sql(dr) is sending a missing result

我把我从sql中获取的数据转移到列表中,但它每次都发送1个丢失的数据,sql命令没有任何问题。 在 c# 中工作不正确 如果 sql 中有 10 个数据,它会拉取其中的 9 个。

SqlCommand komut = new SqlCommand("EXEC AnalysisUnitCorrect ", Datacon.baglanti());
        SqlDataReader dr = komut.ExecuteReader();
        if (dr.Read())
        {
            while (dr.Read())
            {
                Analysis s = new Analysis();
                s.UnitName = Convert.ToString(dr[0]);
                s.Correct = Convert.ToInt16(dr[1]);
                AnalysisCorrect.Add(s);
            }

            Datacon.baglanti().Close();
        }
        else
        {
            Datacon.baglanti().Close();
        }

if (dr.Read()) 行是问题所在。调用“Read()”前进到下一条记录。

您可以简化它,只需删除 if 语句并离开 while 循环。