如何在大数据库中总结2个或更多列 - c#

时间:2017-07-16 16:11:31

标签: c# sql database

我使用C#winForm数据库MS Accsses。 我想使用SQL查询或方法在数据库中总计超过2个dolumns for example

我试过这段代码。它有效,但它太慢了。

 OleDbCommand command = new OleDbCommand("Select *from Vol_rate  ");
        command.Connection = conn;
        OleDbDataReader dr = null;
        conn.Open();
        try
        {
            dr = command.ExecuteReader();
            while (dr.Read())
            {
                R1 += int.Parse((dr["R1"].ToString()));
                R2 += int.Parse((dr["R2"].ToString()));
                R3 += int.Parse((dr["R3"].ToString()));
                R4 += int.Parse((dr["R4"].ToString()));
                R5 += int.Parse((dr["R5"].ToString()));
                R6 += int.Parse((dr["R6"].ToString()));
                R7 += int.Parse((dr["R7"].ToString()));
                R8 += int.Parse((dr["R8"].ToString()));
                R9 += int.Parse((dr["R9"].ToString()));
                R10 += int.Parse((dr["R10"].ToString()));
                R11 += int.Parse((dr["R11"].ToString()));
                R12 += int.Parse((dr["R12"].ToString()));
                R13 += int.Parse((dr["R13"].ToString()));
                R14 += int.Parse((dr["R14"].ToString()));
                R15 += int.Parse((dr["R15"].ToString()));

            }
        }
        catch { MetroFramework.MetroMessageBox.Show(this, "خظأ"); }
        finally
        {
            conn.Close();
        }
        rate = R1 + R2 + R3 + R4 + R5 + R6 + R7 + R8 + R9 + R10 + R11 + R12 + R13 + R14 + R15;
        fullres = (season * vol) * 75;
        res = rate * 100.0 / fullres;
        circularProgressBar2.Text = String.Format("{0:0.0}", res);
        circularProgressBar2.Value = (int)res;

    }

如何使用智能和简单的代码计算列?

1 个答案:

答案 0 :(得分:1)

这可以通过计算数据库中的所有内容来实现:

SELECT sum(R1 + R2 + R3 + R4 + R5 + R6 + R7 + R8 + R9 + R10 + R11 + R12 + R13 + R14 + R15) as total FROM Vol_rate

但是,看到你的数据库中有15个通用命名的单独列,我怀疑你的数据模型存在的问题比这个慢速查询要大得多......