将数据库列中的值相加

时间:2013-04-02 21:51:12

标签: c# asp.net loops sum

我正在asp.net上的c#中创建一个web项目。我正在显示网页上数据库的数据。我有一个数据库表,其中一列(月)显示客户订单的哪个月,另一列显示库存ID。由于不同的客户每月订单,每个月和stockid会多次显示。我想从特定股票的每个月的数量列中总计订单数量。目前,我只能在每个月循环时显示其中一个数量,但是想要计算并显示每个月的总数。

    public static ArrayList GetActuals()
    {
        String strQuery = "Select * from Actual where Year = 2013";
        Recordset rs = DatabaseManager.GetRecordset("DB", strQuery);

        bool bFound;

        ArrayList Actuals = new ArrayList();
        while (rs != null && rs.Read())
        {
            Actual A = new Actual();
            A.strStockNo = rs.GetFieldValueString("Stock_No").Trim();
            A.nMonth = rs.GetFieldValueInt("Month");
            A.nYear = rs.GetFieldValueInt("Year");
            A.nCustomer = rs.GetFieldValueInt("Customer");
            A.nQuantity = (float)rs.GetFieldValueDouble("Quantity");
            Actuals.Add(A);

        }

        if (rs != null) rs.Close();
        return Actuals;

    }



    float LoadActuals(ArrayList actual, String strstock, int year, int month)
    {

        foreach (Actual a in actual)
        {

            if ((a.strStockNo == strstock) && (a.nYear == year) && (a.nMonth == month))
            {
                return a.nQuantity;
            }


        } return 0;
    }

然后当我显示每个月的数量时....

            int Month;
            for (Month = 1; Month < 13; Month++)
            {

                    float totq = LoadActuals(Act, p.strStockNo, yr, Month);

                    TableCell cell = new TableCell();
                    cell.Text = string.Format("{0}", totq);
             }

这仅显示每个月的一个totq,其中我想要总数。这是怎么做到的?

1 个答案:

答案 0 :(得分:0)

这么多问题,但......很快。

float LoadActuals(ArrayList actual, String strstock, int year, int month)
{
    float quantity = 0;
    foreach (Actual a in actual)
    {
        if ((a.strStockNo == strstock) && (a.nYear == year) && (a.nMonth == month))
        {
            quantity += a.nQuantity;
        }
    }
    return quantity;
}