⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s_class_infor.aspx.vb

📁 教务实验室选课系统
💻 VB
📖 第 1 页 / 共 2 页
字号:
                    bool2 = True
                End If
            Catch
                Label2.Text = "读取班级学生表失败,可能是服务器出现错误,请稍后再试!非常抱歉影响了您的工作!"
            Finally
                conn.Close()
            End Try

            '如果此学生选择的组号和座号不存在,则执行第二步:插入该班,首先在班级学生表中添加一列,再将学生登录表中的SL_ifclass列置为1
            If bool2 Then
                cmd.CommandText = "insert into class_student (class_id,s_id,group_id,seat_id) values  ('" + DropDownList1.SelectedItem.Value + "','" + student_id + "','" + DropDownList2.SelectedItem.Value + "','" + DropDownList3.SelectedItem.Value + "')"
                Try
                    conn.Open()
                    cmd.ExecuteReader()
                    bool3 = True
                Catch
                    bool3 = False
                    Label2.Text = "插入该班级失败,可能是服务器出现错误,请稍后再试!非常抱歉影响了您的工作!"
                Finally
                    conn.Close()
                End Try
            End If

            '如果成功的将学生的选课信息添加到班级课程表中,就更改学生登录表中的字段,并重新绑定DATAGRID1的内容
            If bool3 Then
                cmd.CommandText = "update student_login set sl_ifclass='1' where s_id='" + student_id + "'"
                Try
                    conn.Open()
                    cmd.ExecuteReader()
                    bool3 = True
                    conn.Close()
                    datagrid1_bind() '此函数完成的功能:将数据在datagrid1中显示出来
                    '计算该班的人数,在button1_click中也有这样一段代码,本来可以合在一起,
                    '但是这样一来相同的数据项添加了两次,造成计算班级人数出错
                    '如果可以先去处这个表重内容重新添加就可以合并了,或者相同的数据项不再次添加
                    cmd.CommandText = "select * from class_student where class_id='" + DropDownList1.SelectedItem.Value + "'"
                    Try
                        conn.Open()
                        mydap1.Fill(ds1, "class_student_count2")
                        Label1.Text = ds1.Tables("class_student_count2").Rows.Count
                        class_student_num = ds1.Tables("class_student_count2").Rows.Count
                    Catch
                        Label2.Text = "读取班级学生表失败,可能是服务器出现错误,请稍后再试!非常抱歉影响了您的工作!"
                    Finally
                        conn.Close()
                    End Try
                    '提示加入班级成功信息
                    Label2.Text = "您加入该班成功!"
                Catch
                    bool3 = False
                    Label2.Text = "插入班级学生表失败,可能是服务器出现错误,请稍后再试!非常抱歉影响了您的工作!"
                Finally
                    conn.Close()
                End Try
            End If
        End If
    End Sub
    Sub datagrid1_bind()
        '此函数完成的功能:将数据在datagrid1中显示出来,并且计算该班的人数
        '选择班级,点击此按钮后显示该班的学生名单   
        cmd.CommandText = "select student_infor.s_id,student_infor.s_name,group_id,seat_id from student_infor,class_student where student_infor.s_id=class_student.s_id and class_id='" + DropDownList1.SelectedItem.Value + "'order by group_id asc"
        Try
            conn.Open()
            mydap1.Fill(ds1, "student_class_infor")
            DataGrid1.DataSource = ds1.Tables("student_class_infor")
            DataGrid1.DataBind()
        Catch
            Label2.Text = "读取数据库失败,可能是服务器出现错误,请稍后再试!非常抱歉影响了您的工作!"
        Finally
            conn.Close()
        End Try
    End Sub


    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        '退出班级,首先判断此学生是否属于所选择的班级,如果不属于,进行提示;
        '如果属于,则从数据库中删除此条记录,并将此学生student_login表的s_iflogin字段置为0,表示没有选择班级;
        Dim bool4 As Boolean = False '记录是否成功退出班级
        Dim bool5 As Boolean = False '记录学生是否属于该班级
        '判断此学生是否属于该班级
        cmd.CommandText = "select * from class_student where class_id='" + DropDownList1.SelectedItem.Value + "' and s_id='" + student_id + "'"
        Try
            conn.Open()
            Dim reader3 As IDataReader
            reader3 = cmd.ExecuteReader()
            If reader3.Read Then '如果此学生属于这个班级
                bool5 = True
            Else
                Label2.Text = "您不属于这个班级,无法从该班中退出!"
                bool5 = False
            End If
        Catch
            bool5 = False
            Label2.Text = "退出该班级失败,可能是服务器出现错误,请稍后再试!非常抱歉影响了您的工作!"
        Finally
            conn.Close()
        End Try
        '如果学生属于这个班级,则从class_student表中删除此条学生记录
        If bool5 Then
            cmd.CommandText = "delete from class_student where class_id='" + DropDownList1.SelectedItem.Value + "'and s_id='" + student_id + "'"
            Try
                conn.Open()
                cmd.ExecuteReader()
                bool4 = True
            Catch
                bool4 = False
                Label2.Text = "退出该班级失败,可能是服务器出现错误,请稍后再试!非常抱歉影响了您的工作!"
            Finally
                conn.Close()
            End Try
        End If
        '如果成功的将学生的选课信息从班级课程表删除中,就更改学生登录表中的字段,并重新绑定DATAGRID1的内容
        If bool4 Then
            cmd.CommandText = "update student_login set sl_ifclass='0' where s_id='" + student_id + "'"
            Try
                conn.Open()
                cmd.ExecuteReader()
                bool4 = True
                conn.Close()
                datagrid1_bind() '此函数完成的功能:将数据在datagrid1中显示出来
                '计算该班的人数,在button1_click中也有这样一段代码,本来可以合在一起,
                '但是这样一来相同的数据项添加了两次,造成计算班级人数出错
                '如果可以先去处这个表重内容重新添加就可以合并了,或者相同的数据项不再次添加
                cmd.CommandText = "select * from class_student where class_id='" + DropDownList1.SelectedItem.Value + "'"
                Try
                    conn.Open()
                    mydap1.Fill(ds1, "class_student_count3")
                    Label1.Text = ds1.Tables("class_student_count3").Rows.Count
                    class_student_num = ds1.Tables("class_student_count3").Rows.Count
                Catch
                    Label2.Text = "读取班级学生表失败,可能是服务器出现错误,请稍后再试!非常抱歉影响了您的工作!"
                Finally
                    conn.Close()
                End Try
                '提示加入班级成功信息
                Label2.Text = "您退出该班成功!"
            Catch
                bool4 = False
                Label2.Text = "退出班级失败,可能是服务器出现错误,请稍后再试!非常抱歉影响了您的工作!"
            Finally
                conn.Close()
            End Try
        End If
    End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -