我是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();
}
答案 0 :(得分:3)
您可以使用Average
方法使用 LINQ to DataTable :
var gpa = data.Tables["Students"].AsEnumerable()
.Average(row => row.Field<double>("GPA"));