【发布时间】:2021-10-25 17:19:06
【问题描述】:
我正在尝试根据学生在表格中选择的优先顺序以及每个学院的可用席位数量来编写分配算法。我必须通过后面的代码或直接在 SQL 更新语句中编写此算法吗?
我已经制作了 onclick 按钮来启动应用程序
protected void btnAlloc_Click(object sender, EventArgs e)
{
//Label _lblText = (Label)gvAlloc.FindControl("lblStudID");
// int studID = Convert.ToInt32(_lblText.Text);
//Label1.Text = _lblText.Text;
SqlConnection dbcon = new SqlConnection(_conString);
SqlCommand scmd = new SqlCommand();
scmd.CommandText = "SELECT stud_fname,stud_totalMarks FROM tblStudent WHERE stud_totalMarks < (SELECT AVG(stud_totalMarks)FROM tblStudent)and stud_result = 'Pass' order by stud_totalMarks";
scmd.Connection = dbcon;
SqlDataReader Alloc1;
dbcon.Open();
Alloc1 = scmd.ExecuteReader();
getStudent();
}
查询正在选择得分最高的分数(分数最低的分数)和那些有状态通过的人。
我完全陷入困境,不知道下一步该怎么做。
这是我的算法必须如何的说明:
这是大学表:
College_ID College Seat_available
1 A 2
2 B 3
3 C 5
4 D 2
这是学生表
Stud_ID Name Result Marks College_id
1 Luke Pass 8
2 John Pass 10
3 Alex Fail 56
4 Brad Fail 56
学生表中的college_id 是一个引用tblCollege 的外键。
现在,当学生填写表格时,他将选择学院,并将其存储在关联表 tblstud_collegeSelection
Selec_id Stud_ID College_ID
1 1 1
2 1 3
3 2 3
4 2 1
5 2 2
学生 id 1 选择了大学 1 作为第一选择,选择了大学 3 作为第二选择。 学生id 2 选择了大学 3 作为第一选择,1 作为第二选择,2 作为第三选择。
我的想法是,当网站管理员点击分配按钮时,每个学生都会根据这些标准分配一所大学:
- 学生是否通过(还必须选择平均最高分。)
- 他是否填写表格大学表格以及他选择的大学是什么 关于选择职位(如果大学名额已满,则必须转为学生第二选择)
【问题讨论】: