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 DataTableを使用できます。Average

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