演示视频:
https://www.bilibili.com/video/BV11m411Z7ar/
第四章 学生选课系统的各个功能模块的实现
4.1 创建ASP.NT网站
在完成了数据库的设计和创建,接下来介绍系统的具体设计方法和代码。首先创建一个Visual C#的ASP.NET网站,操作步骤如下:
1.启动Visual Studio2005开发环境后,选择“文件“——”新建网站“命令。
2.在“新建网站”对话框里,语言选择Visual C#,其它保持默认设置。具体设置如图4-1所示。
图4-1 创建“ASP.NET 网站” 窗口
4.2首页登陆模块的实现
创建网站完成后,自动创建了一个文件名为“Default.aspx”的网页,在这里保持其默认名(Default.aspx)为首页面。下面向网页中添加控件并完成布局,布局完成后的效果见图4-2所示。
图4-2 系统首页
在登录页面中,使用的控件及其属性设置请参照表4-1所示。
登陆页面主要是为了完成对用户类型,用户名,密码的验证,完成用户的登陆过程。在此需要说明的是,服务器控件mydropdownlist是用于系统判断用户类型,所在Default.aspx页面后台代码Page_Load事件中加入一段代码用于初始mydropdownlist控件的值。这段代码如下:
另外,因为在登录后还需要用到用户的登录信息,所以在这里使用了SESSION来记录用户的登录账号。
完成登录功能的后台代码如下:
4.3 添加院系模块的实现
右键单击“解决方案管理器”的“ST_Select_Course”的“添加新项”,然后在里面选择“Web窗体”,给窗体改名为“main.aspx”。具体请参照图4-3所示。
图4-3 添加新项
在这里需要重点强调的是,整个系统分三个部分,分别是后台管理部分也就是管理员权限部分,教师部分和学生部分。三个身份登录系统后的首页面分别为main.aspx、teacher.aspx、student.aspx,它们的页面效果分别请参见如下图4-4、图4-5、图4-6所示。
图4-4 管理员登录界面
图4-5 教师登录界面
图4-6 学生登录界面
显然,三个身份登录后的界面几乎是相同的,这里我们需要提一下的是模块的重复使用性,以提高程序开发效率,在此重点解释管理员登录界面的实现。
管理员登录界面其实是包含了两个部分,上部是一个名为top_aspx的页面,下部为body.aspx的页面。其中,top_aspx主要用于描述系统功能操作,body.aspx主要作为一个容器,用来显示系统操作结果。
Main.aspx页面代码如下:
通过如上描述,现在可以设计添加院系模块了。选择添加新项,选择Web窗体,命名为main_depat。
页面main_depat设计完成之后的效果如图4-8所示。
图4-8 添加院系图
其中,函数judgment_weather_repetition的作用是判断数据库中是否已经存在了相同的记录,它返回的是一个整数。
4.4 其它模块的设计
4.4.1 添加专业模块的设计
选择添加新项,选择Web窗体,命名为main_profession.aspx。
页面main_profession.aspx设计完成之后的效果如图4-9所示。
图4-9 添加专业(main_profession)界面
在系统使用中单击图4-9中“添加专业”按钮,会弹出一个添加信息对话框,如图4-10所示。
图4-10 添加专业信息(main_profession_add.aspx)
4.4.2 添加课程模块的设计
选择添加新项,选择Web窗体,命名为main_course.aspx。
页面main_course.aspx设计完成之后的效果如图4-11所示。
图4-11 添加课程(main_course)界面
在添加课程页面中,使用的控件及其属性设置请参照表4-4所示。。
4.4.3 教师管理模块的设计
选择添加新项,选择Web窗体,命名为main_teacher.aspx。
页面main_teacher.aspx设计完成之后的效果如图4-12所示。
图4-12 教师管理界面(main_teacher.aspx)
4.4.4 学生管理模块的设计
选择添加新项,选择Web窗体,命名为main_student.aspx。
页面main_student.aspx设计完成之后的效果如图4-13所示。
图4-13 学生管理界面(main_student.aspx)
4.4.5 学生课表模块的设计
选择添加新项,选择Web窗体,命名为stu_course_table.aspx。
页面stu_course_table.aspx设计完成之后的效果如图4-14所示。
图4-14 学生课表界面(stu_course_table.aspx)
4.4.6 学生选课模块的设计
选择添加新项,选择Web窗体,命名为stu_course.aspx。
页面stu_course.aspx设计完成之后的效果如图4-15所示。
图4-15 学生选课界面(stu_course.aspx)
第五章 学生选课系统的使用
5.1系统的浏览方式
在已经安装了IIS和.Framework1.1的情况下,打开控制面板,打开管理工具下面的Internet信使服务。选择本地计算机下面的网站,再选择网站下面的默认网站,右键单出默认网站,选择新建虚拟目录,具体操作如图5-1所示。
图5-1 创建虚拟目录
系统会弹出创建虚拟目录向导,单击下一步,在别名里面输入“ST_Select_Course”, 单击下一步在目录里选择网站所在文件夹,单击确定。
现在打开IE浏览器,在地址栏里输入
http://localhost/ST_Select_Course/Default.aspx
便进入了学生选课系统的首页了。
5.2系统的具体使用方式
此页面可以实现用户登陆功能,登陆时先选择用户类型,然后正确填写用户信息后,则可进入正确的页面,如图5-2所示。
图5-2登陆页面
这里须要说明的是,因为数据库对于用户信息是用了两张表来存储,如对学生而言,有学生基本信息表(stu_infor)和学生帐户信息表(user_stu),所以在首页里面加入了激活密码的按钮,如果是第一个次登录系统,刚点击激活密码可以得到一个与学号相同的初始密码,激活密码需要的信息是学号和身份证。
文章浏览阅读3.6k次。需求背景EasyDarwin开发团队维护EasyDarwin开源流媒体服务器也已经很多年了,之前也陆陆续续尝试过很多种服务端录像的方案,有:在EasyDarwin中直接解析收到的RTP包,重新组包录像;也有:在EasyDarwin中新增一个RecordModule,再以RTSPClient的方式请求127.0.0.1自己的直播流录像,但这些始终都没有成气候;我们的想法是能够让整套EasyDarwin_开源录播系统
文章浏览阅读1.1w次。今天碰到一个执行语句等了半天没有执行:delete table XXX where ......,但是在select 的时候没问题。后来发现是在执行select * from XXX for update 的时候没有commit,oracle将该记录锁住了。可以通过以下办法解决: 先查询锁定记录 Sql代码 SELECT s.sid, s.seri_oracle delete update 锁表问题
文章浏览阅读3.4k次。报错信息error:Undefined symbol: typeinfo for sdk::IConfigUndefined symbol: vtable for sdk::IConfig具体信息:Undefined symbols for architecture x86_64: "typeinfo for sdk::IConfig", referenced from: typeinfo for sdk::ConfigImpl in sdk.a(config_impl.o) _xcode undefined symbols:
文章浏览阅读249次。背景《承接上文,项目05(Mysql升级06Mysql5.6.51升级到Mysql5.7.32)》,写在前面需要(考虑)检查和测试的层面很多,不限于以下内容。参考文档https://dev.mysql.com/doc/refman/8.0/en/upgrade-prerequisites.htmllink推荐阅读以上链接,因为对应以下问题,有详细的建议。官方文档:不得存在以下问题:0.不得有使用过时数据类型或功能的表。不支持就地升级到MySQL 8.0,如果表包含在预5.6.4格_mysql8.0.26 升级32
文章浏览阅读3.7k次。一.安装基本环境工具:1.安装git工具sudo apt install wget g++ git2.检查并安装java等环境工具2.1、执行下面安装命令#!/bin/bashsudoapt-get-yinstall--upgraderarunrarsudoapt-get-yinstall--upgradepython-pippython3-pip#aliyunsudoapt-get-yinstall--upgradeopenjdk..._高通8155 qnx 源码
文章浏览阅读461次。firebase 与谷歌 大多数开发人员都听说过Google的Firebase产品。 这就是Google所说的“ 移动平台,可帮助您快速开发高质量的应用程序并发展业务。 ”。 它基本上是大多数开发人员在构建应用程序时所需的一组工具。 在本文中,我将介绍这些工具,并指出您选择使用Firebase时需要了解的所有内容。 在开始之前,我需要说的是,我不会详细介绍Firebase提供的所有工具。 我..._firsebase 与 google
文章浏览阅读1.2k次。在容器化应用中,每个环境都要独立的打一个镜像再给镜像一个特有的tag,这很麻烦,这就要用到k8s原生的配置中心configMap就是用解决这个问题的。使用configMap部署应用。这里使用nginx来做示例,简单粗暴。直接用vim常见nginx的配置文件,用命令导入进去kubectl create cm nginx.conf --from-file=/home/nginx.conf然后查看kub..._pod mount目录会自动创建吗
文章浏览阅读169次。随着互联网技术的发发展,计算机技术广泛应用在人们的生活中,逐渐成为日常工作、生活不可或缺的工具,高校各种管理系统层出不穷。高校作为学习知识和技术的高等学府,信息技术更加的成熟,为新生报到管理开发必要的系统,能够有效的提升管理效率。一直以来,新生报到一直没有进行系统化的管理,学生无法准确查询学院信息,高校也无法记录新生报名情况,由此提出开发基于微服务的分布式新生报到系统,管理报名信息,学生可以在线查询报名状态,节省时间,提高效率。_关于spring cloud的参考文献有啥
文章浏览阅读3.2k次。Public MustInherit Class Contact '只能作基类且不能实例化 Private mID As Guid = Guid.NewGuid Private mName As String Public Property ID() As Guid Get Return mID End Get_vb.net 继承多个接口
文章浏览阅读1.7k次。1.美图# 2.概述因为要上传我的所有仓库的包,希望nexus中已有的包,我不覆盖,没有的添加。所以想批量上传jar。3.方案1-脚本批量上传PS:nexus3.x版本只能通过脚本上传3.1 批量放入jar在mac目录下,新建一个文件夹repo,批量放入我们需要的本地库文件夹,并对文件夹授权(base) lcc@lcc nexus-3.22.0-02$ mkdir repo2..._nexus3 批量上传jar包 java代码
文章浏览阅读6.6k次,点赞6次,收藏30次。本文转自http://blog.csdn.net/charleslei/article/details/486519531、什么是场在介绍Deinterlacer去隔行处理的方法之前,我们有必要提一下关于交错场和去隔行处理的基本知识。那么什么是场呢,场存在于隔行扫描记录的视频中,隔行扫描视频的每帧画面均包含两个场,每一个场又分别含有该帧画面的奇数行扫描线或偶数行扫描线信息,_mipi去隔行
文章浏览阅读1.7k次。DATA L_ENDDA TYPE SY-DATUM. IF P_DATE IS INITIAL. CONCATENATE SY-DATUM(4) '1231' INTO L_ENDDA. ELSE. CONCATENATE P_DATE(4) '1231' INTO L_ENDDA. ENDIF. DATA: LV_RESET(1) TY_abap 自定义 search help