我有一个方法,可以从db计算每个月的总金额,如图所示.
public static List<Sale> ChartMonthlySalePerYear()
{
using (SQLiteConnection con = new SQLiteConnection(Connection.DatabaseLocationString))
{
SQLiteCommand cmd = null;
string query = String.Format("SELECT strftime('%m', SaleDate) AS month, SUM(AmountPaid) AS sum_amountpaid FROM {0} WHERE strftime('%Y', SaleDate) = @1 GROUP BY strftime('%m', SaleDate) ", Sale.TABLE_NAME);
cmd = new SQLiteCommand(query, con);
cmd.Parameters.Add(new SQLiteParameter("@1", Properties.Settings.Default.ChartYearlyDisplay));
con.Open();
SQLiteDataReader reader = cmd.ExecuteReader();
var list = new List<Sale>();
while (reader.Read())
{
Sale value = new Sale()
{
Months = reader["month"].ToString(),
SUMAmountPaid = Convert.ToDecimal(reader["sum_amountpaid"])
};
list.Add(value);
}
con.Close();
return list; …Run Code Online (Sandbox Code Playgroud)