我正在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,其中我想要总数。这是怎么做到的?
答案 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;
}