从MS访问数据库中获取总和

时间:2015-03-02 18:07:02

标签: c# database ms-access

在之前的一个问题中,我设法从MS Access数据库中获得了一笔钱,但我想要添加的数字都是正数和负数。

如何将正数和负数加在一起。

以下代码会返回总和,但不会考虑将它们视为正数的负数,是否可以纠正?

com = new OleDbCommand("SELECT sum([Points]) FROM FlightPoints WHERE [Person] =?", 
    Program.DB_CONNECTION);

com.Parameters.Add(new OleDbParameter("", c.ID));

dr = com.ExecuteReader();

if (dr.Read())
{
    try
    {
        string[] subitems = new string[2]; // set number of items in the list
        subitems[0] = c.Rank.String + " " + c.FirstName + " " + c.Surname;
        subitems[1] = Convert.ToInt32(dr.GetDouble(0)).ToString();

        ListViewItem listItem = new ListViewItem(subitems);
        CadetPointlistView.Items.Add(listItem); // add all the subitems to the table
    }
    catch
    {
    }
}

1 个答案:

答案 0 :(得分:0)

两种选择 - 如果您可以更改代码,请将SUM(VALUE)的引用替换为SUM(ABS(VALUE));否则,创建一个Query(SQL VIEW),它返回除value列之外的原始表,并使用ABS()函数(SqlFiddle)计算绝对值。

然后,您可以将原始代码与新查询一起使用来计算结果。视图不能用于在计算值时更新值列。改为更新原始表。