c#,SQL Server重复查询

本文关键字:查询 Server SQL | 更新日期: 2023-09-27 18:04:14

我每周做一个顾问价值登记。

此方法是获取PESOQUANTIDADE的周返回值并求和。

虽然结果汇总,但它最终显示了列表上每个日期的重复。我只需要最后的结果。

代码:

public void Search_RGP_CadastroPrint(int param_RGP, List<string> arr_list, string param_StartDay, string param_EndDay, string peixe)
{
    SqlDataReader objReader;
    SqlCommand objcmd = null;
    vsql = "SELECT [RGP], [PEIXE], [PESO], [QUANTIDADE], [DATA_REGISTRO] FROM cadastro WHERE RGP = @RGP and PEIXE = @PEIXE and DATA_REGISTRO BETWEEN @StartDay and @EndDay";
    if (this.Conectar())
    {
        try
        {
            DateTime dtParamStart = DateTime.Parse(param_StartDay);
            DateTime dtParamEnd = DateTime.Parse(param_EndDay);
            double peso = 0;
            int quantidade = 0;
            objcmd = new SqlCommand(vsql, objCon);
            objcmd.Parameters.Add(new SqlParameter("@RGP", param_RGP));
            objcmd.Parameters.Add(new SqlParameter("@PEIXE", peixe));
            objcmd.Parameters.Add(new SqlParameter("@StartDay", dtParamStart));
            objcmd.Parameters.Add(new SqlParameter("EndDay", dtParamEnd));
            objReader = objcmd.ExecuteReader();
            while (objReader.Read())
            {
                peso = objReader.GetDouble(2) + peso;
                quantidade = objReader.GetInt32(3) + quantidade;
                arr_list.Add(objReader.GetString(1) + "   " + "Peso: " + peso.ToString() + "   " + "Quantidade: " + quantidade.ToString());
            }
        }
        catch
        {
            throw;
        }
        finally
        {
            this.Desconectar();
        }
    }
}

c#,SQL Server重复查询

试试下面的代码:

while (objReader.Read())
{
   peso += objReader.GetDouble(2);
   quantidade += objReader.GetInt32(3);
}
arr_list.Add(string.Format("{0}   Peso: {1}   Quantidade: {2}", peixe, peso, quantidade));