这个简单 我写一个给你
每一个我都是分开写的 重点其实就在sql上 你可以把我写的改成你的表
//总评成绩事件
DBHelper dbHelper = new DBHelper();
dbHelper.OpenConnection();
string sqlA = @" select 班级名称 as 学号, Teacher1ID as 平时 ,Teacher2ID as 期中,Teacher3ID as 期末
,(Teacher1ID+Teacher2ID+Teacher3ID)/3 as 总评分 from T1 ";
DataSet dataSetA = new DataSet();
SqlDataAdapter adapterA = new SqlDataAdapter(sqlA, dbHelper.Connection);
adapterA.Fill(dataSetA, "UserList");
DataTable ddde = dataSetA.Tables["userList"];
this.dataGridView1.DataSource = ddde;
//成绩排序
DBHelper dbHelper = new DBHelper();
dbHelper.OpenConnection();
string sqlA = @" select 班级名称 as 学号, Teacher1ID as 平时 ,Teacher2ID as 期中,Teacher3ID as 期末
,(Teacher1ID+Teacher2ID+Teacher3ID)/3 as 总评分 from T1 order by (Teacher1ID+Teacher2ID+Teacher3ID)/3 desc";
DataSet dataSetA = new DataSet();
SqlDataAdapter adapterA = new SqlDataAdapter(sqlA, dbHelper.Connection);
adapterA.Fill(dataSetA, "UserList");
DataTable ddde = dataSetA.Tables["userList"];
this.dataGridView1.DataSource = ddde;
//百分制
if (this.radioButton2.Checked == true)
{
this.radioButton2.Checked = false;
}
DBHelper dbHelper = new DBHelper();
dbHelper.OpenConnection();
string sqlA = @" select 班级名称 as 学号, Teacher1ID as 平时 ,Teacher2ID as 期中,Teacher3ID as 期末
,(Teacher1ID+Teacher2ID+Teacher3ID)/3 as 总评分 from T1 order by (Teacher1ID+Teacher2ID+Teacher3ID)/3 desc";
DataSet dataSetA = new DataSet();
SqlDataAdapter adapterA = new SqlDataAdapter(sqlA, dbHelper.Connection);
adapterA.Fill(dataSetA, "UserList");
DataTable ddde = dataSetA.Tables["userList"];
this.dataGridView1.DataSource = ddde;
//等级制
if (this.radioButton1.Checked == true)
{
this.radioButton1.Checked = false;
}
DBHelper dbHelper = new DBHelper();
dbHelper.OpenConnection();
string sqlA = @" select 班级名称 as 学号, Teacher1ID as 平时 ,Teacher2ID as 期中,Teacher3ID as 期末 ,
CASE
WHEN (Teacher1ID+Teacher2ID+Teacher3ID)/3 >= 85 THEN '优秀'
WHEN (Teacher1ID+Teacher2ID+Teacher3ID)/3 < 85 and (Teacher1ID+Teacher2ID+Teacher3ID)/3 <=70 THEN '良好'
WHEN (Teacher1ID+Teacher2ID+Teacher3ID)/3 < 70 and (Teacher1ID+Teacher2ID+Teacher3ID)/3 <=60 THEN '及格'
WHEN (Teacher1ID+Teacher2ID+Teacher3ID)/3 < 60 and (Teacher1ID+Teacher2ID+Teacher3ID)/3 <=40 THEN '不及格'
ELSE '差' end as 总评分
from T1 order by (Teacher1ID+Teacher2ID+Teacher3ID)/3 desc";
DataSet dataSetA = new DataSet();
SqlDataAdapter adapterA = new SqlDataAdapter(sqlA, dbHelper.Connection);
adapterA.Fill(dataSetA, "UserList");
DataTable ddde = dataSetA.Tables["userList"];
this.dataGridView1.DataSource = ddde;
this.dataGridView1.RowHeadersVisible = false;