2

表格1

我是 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();
    }
4

1 回答 1

3

您可以通过以下方法使用LINQ to DataTableAverage

var gpa = data.Tables["Students"].AsEnumerable()
              .Average(row => row.Field<double>("GPA"));
于 2012-10-14T09:35:56.943 回答