c#,SQL Server重复查询
本文关键字:查询 Server SQL | 更新日期: 2023-09-27 18:04:14
我每周做一个顾问价值登记。
此方法是获取PESO
和QUANTIDADE
的周返回值并求和。
虽然结果汇总,但它最终显示了列表上每个日期的重复。我只需要最后的结果。
代码: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();
}
}
}
试试下面的代码:
while (objReader.Read())
{
peso += objReader.GetDouble(2);
quantidade += objReader.GetInt32(3);
}
arr_list.Add(string.Format("{0} Peso: {1} Quantidade: {2}", peixe, peso, quantidade));