【问题标题】:Calculate the retrieved rows in database计算数据库中检索到的行
【发布时间】:2012-10-14 09:32:40
【问题描述】:

我是 Visual C# 的新手,想知道如何计算从数据库中检索到的数据。

使用上面的GUI,当点击“计算”时,程序会在textBox1中显示学生人数,在textBox2中显示所有学生的平均GPA。

这是我的数据库表“学生”:

我能够显示学生人数,但我仍然对如何计算平均 GPA 感到困惑

这是我的代码:

    private void button1_Click(object sender, EventArgs e)
    {
            string connection = @"Provider=Microsoft.ACE.OLEDB.12.0;Data  Source=C:\Database1.accdb";
            OleDbConnection connect = new OleDbConnection(connection);

        string sql = "SELECT * FROM Students";
        connect.Open();
        OleDbCommand command = new OleDbCommand(sql, connect);
        DataSet data = new DataSet();
        OleDbDataAdapter adapter = new OleDbDataAdapter(command);
        adapter.Fill(data, "Students");

        textBox1.Text = data.Tables["Students"].Rows.Count.ToString();

        double gpa;
        for (int i = 0; i < data.Tables["Students"].Rows.Count; i++)
        {
            gpa = Convert.ToDouble(data.Tables["Students"].Rows[i][2]);
        }

        connect.Close();
    }

【问题讨论】:

    标签: c# database ms-access


    【解决方案1】:

    您可以将 LINQ to DataTableAverage 方法一起使用:

    var gpa = data.Tables["Students"].AsEnumerable()
                  .Average(row => row.Field<double>("GPA"));
    

    【讨论】:

      猜你喜欢
      • 2014-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多