【问题标题】:Allocation of College学院分配
【发布时间】: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 作为第三选择。

我的想法是,当网站管理员点击分配按钮时,每个学生都会根据这些标准分配一所大学:

  1. 学生是否通过(还必须选择平均最高分。)
  2. 他是否填写表格大学表格以及他选择的大学是什么 关于选择职位(如果大学名额已满,则必须转为学生第二选择)

【问题讨论】:

    标签: c# sql asp.net


    【解决方案1】:

    我的建议是使用 SQL 检索学生以及他使用 SQL 选择的大学列表。然后使用您的代码来确定是否满足条件。与在 SQL 中使用嵌套连接和条件来确定条件相比,它更容易且更具可读性。此外,添加更多条件和条件会更容易,因为您的 SQL 将是相同的,并且您处理数据的方式会发生变化。如果您需要有关 SQL 语句的帮助,请告诉我,但我认为应该是直截了当的。

    【讨论】:

    • 你的意思是从后面的代码中检索学生和大学选择,就像我在提取 C# 代码中所做的那样?
    • 是的,你需要在sql命令执行后检索记录并使用数据来计算你所说的标准。虽然我对你的 sql 代码有点困惑:“WHERE stud_totalMarks 是不是更具有直觉意义?
    • 这是一个综合分数,最好的分数是8,最差的是56。问题是我很难写出标准,我必须把它放在C# FOR循环中吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多