




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生管理系统一 系统功能分析系统开发的总体任务是实现学生信息关系的系统化,规范化和自动化。主要功能有:1 有关学籍等信息的输入,包括输入学生基本信息,所在班机,所学课程和成绩等。2 学生信息的查询,包括查询学生基本信息,所在班级,已学课程,和成绩等3 学生信息修改4 班级管理信息的输入,包括输入班级设置,年级信息等。5班级管理信息查询6 班级管理信息修改7 学校基本课程信息输入8 基本课程信息修改9 学生课程的设置和修改10学生成绩信息的输入11 学生成绩信息的修改12 学生成绩信息的查询13学生成绩信息的统计112 系统功能模块设计 学生信息管理系统成绩信息管理课程信息管理班级信息管理学籍信息管理系统管理成绩信息查询成绩信息修改成绩信息添加年级课程设置课程信息修改课程信息添加班级信息修改班级信息添加学籍信息查询学籍信息修改学籍信息添加密码管理用户管理二 数据库设计1.2.1 数据库需求分析1 学生基本信息:学号 ,姓名,性别, 出生日期,班号,电话,入校日期,家庭住址,备注等。2 班级信息:班号,所在年级,班主任姓名,所在教室3 课程基本信息:课程号,课程名称,课程类别,课程描述4 课程设置信息:年级信息,所学课程等。5 学生成绩信息:考试编号,所在班级,学生学号,学生姓名,所学课程,考试分数 学生注册基本信息输入成绩信息输入班级课程设置学籍信息管理成绩信息管理班级课程管理课程基本信息班级设置班级管理1.2.2数据库概念结构设计根据扇面的设计规划出的实体有:学生实体,班级实体,年级实体,课程实体各个实体具体的描述E-R图如下学生成绩信息 学 生学生基本信息学生班级信息学生课程信息班 级班 号所在年级班主任课程课程编号课程名称课程类型年级年级名称包括班级设置课程学生成绩信息所在教室课程描述实体和实体之间的关系E-R如下 班级设置学 生年级课程班 级年级设置课程设置考核过程三 数据库结构的实现1.3.1 创建数据库和数据表1 创建系统用户表格 user-InfoCREAT TABLE dbo.user-info( user-ID char (10) COLLATE Chinese-PRC-CI-AS NOT NULL, user-PWD char (10) COLLATE Chinese-PRC-CI-AS NULL, user-Des char (10) COLLATE Chinese-PRC-CI-AS NULL,)ON PRIMARY2 创建学生基本信息表格 student_InfoCREATE TABLE dbo. student_Info( student_ID int NOT NULL,student -ID char (10) COLLATE Chinese-PRC-CI-AS NULL,student -Sex char (2) COLLATE Chinese-PRC-CI-AS NULL,born_Date datetime NULL,class_NO int NULL,tele_Number char (10) COLLATE Chinese-PRC-CI-AS NULL,ru_Date datetime NULL,address varchar (50) COLLATE Chinese-PRC-CI-AS NULL,comment varchar (200) COLLATE Chinese-PRC-CI-AS NULL,)ON PRIMARY3创建班级信息表格 class_InfoCREAT TABLE dbo.class-info(class_No int NOT NULL,grade char (10) COLLATE Chinese-PRC-CI-AS NULLdirector char (10) COLLATE Chinese-PRC-CI-AS NULLclassroom_No char (10) COLLATE Chinese-PRC-CI-AS NULL )ON PRIMARY4 创建课程基本信息表 course_InfoCREAT TABLE dbo.course-info(course_No int NOT NULL,course_Name char (10) COLLATE Chinese-PRC-CI-AS NULLcourse_Type char (10) COLLATE Chinese-PRC-CI-AS NULLcourse_Des char (50) COLLATE Chinese-PRC-CI-AS NULL)ON PRIMARY5创建年级课程设置信息表 gradecourse_InfoCREAT TABLE dbo.gradecourse-info(grade char (10) COLLATE Chinese-PRC-CI-AS NULLcourse_Name char (10) COLLATE Chinese-PRC-CI-AS NULL)ON PRIMARY6 创建学生成绩信息表 result_InfoCREAT TABLE dbo.result-info(exam_No char (10) COLLATE Chinese-PRC-CI-AS NOT NULstudent_ID int NOT NULLstudent Name char (10) COLLATE Chinese-PRC-CI-AS NULLclass_No int NULLcourse_Name char (10) COLLATE Chinese-PRC-CI-AS NULLresult float NULL)ON PRIMARY 四 系统用户管理模块的创建控 件属 性属性取值frmLogin(From)NamefrmLoginCaptionStartUpPostionCenterScreenWindowStateNomaltxtUserNameNametxtUserNametxtpasswordNametxtPasswordPassword* cmdOKNamecmdOKCaption确定cmdCancelNamecmdCancelCaption取消Label1Caption学生信息管理系统Label2Caption用户名Label3Caption用户密码LabelCaption版权提供主要实现:1 用户登录2 添加用户3 修改用户密码系统启动后,将首先出现如下图所示的用户登录窗体,用户首先输入用户名,然后输入密码,如果用户3次输入密码不正确,将退出程序。用户登录窗体中放置两个文本文档(TextBox),用来输入用户名和用户密码;两个按钮(CommandButton)用来确定或取消登录;4个标签(Label)用来标示窗体的信息。为窗体定义全局变量OK,用来判断登陆是否成功;定义miCount,用来记载输入密码的次数,并且在载入窗体时初始化这两个变量,代码如下:用户登录窗体创建强制变量声明代码实现如下:Option ExplicitPublic OK As Boolean记录确定次数Dim miCount As IntegerPrivate Sub Form_Load()OK = False miCount = 0End SubOption Explicit 是用来规定所有变量使用前必须定义。这样可以避免由于输入错误而产生的新变量。 当用户输入完用户名和用户密码,单击cmdOK按钮将对用户输入信息进行判断。用户单击按钮,将触发按钮cmdOK的Click事件,代码如下:Private Sub cmdOK_Click()用来存放SQL语句 Dim txtSQL As String 用来存放记录集对象Dim mrc As ADODB.Recordset 用来存放返回信息 Dim MsgText As String ToDo: create test for correct password check for correct password UserName = If Trim(txtUserName.Text = ) Then 判断输入用户名为空 MsgBox 没有这个用户,请重新输入用户名!, vbOKOnly + vbExclamation, 警告 txtUserName.SetFocus Else txtSQL = select * from user_Info where user_ID = & txtUserName.Text & Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = True Then MsgBox 没有这个用户,请重新输入用户名!, vbOKOnly + vbExclamation, 警告 txtUserName.SetFocus Else If Trim(mrc.Fields(1) = Trim(txtPassword.Text) Then OK = True mrc.Close Me.Hide UserName = Trim(txtUserName.Text) Else MsgBox 输入密码不正确,请重新输入!, vbOKOnly + vbExclamation, 警告 txtPassword.SetFocus txtPassword.Text = End If End If End If miCount = miCount + 1 If miCount = 3 Then Me.Hide End If Exit SubEnd Sub用户如果没有输入用户名密码,将出现消息框给予提示。如果输入的用户名在用户表格中没有找到,将提示重新输入用户名,文本档txtUserName将重新获得输入焦点。如果用户输入密码不正确,文本档txtUserName将重新获得输入焦点。用户登录成功,全局变量OK将被赋值为Ture;一旦三次输入密码均不正确,全局变量OK将被赋值为False。公用模块中的Main过程将根据OK的值决定是退出,或者进入系统。如果用户取消登录,单击“取消”按钮,将触发按钮的Click事件;代码如下: OK=False me.Hide Me是Visual Basic中一个常用的对象,用来指代当前对象本身。添加用户窗体创建控 件属 性属性取值frmLogin(From)NamefrmLoginCaptionStartUpPostionCenterScreenWindowStateNomaltxtUserNameNametxtUserNameTxtpassword1NametxtPassword1password*NametxtPasswordPassword*cmdOKNamecmdOKCaption确定cmdCancelNamecmdCancelCaption取消Label1CaptionLabel2CaptionLabel3Caption用户需要两次输入密码,用来确保输入密码的正确。用户输入信息完毕,单击“确定”按键将触发Click事件,代码如下:Private Sub cmdCancel_Click() Unload MeEnd SubPrivate Sub cmdOK_Click() Dim txtSQL As String Dim mrc As ADODB.Recordset Dim MsgText As String If Trim(Text1(0).Text) = Then MsgBox 请输入用户名称!, vbOKOnly + vbExclamation, 警告 Exit Sub Text1(0).SetFocus Else txtSQL = select * from user_Info Set mrc = ExecuteSQL(txtSQL, MsgText) 判断数据集是否为空While (mrc.EOF = False) 判断是否有重复记录If Trim(mrc.Fields(0) = Trim(Text1(0) Then MsgBox 用户已经存在,请重新输入用户名!, vbOKOnly + vbExclamation, 警告 Text1(0).SetFocus Text1(0).Text = Text1(1).Text = Text1(2).Text = Exit Sub Else 移动到下一条记录mrc.MoveNext End If Wend End If 判断两次输入密码是否一致 If Trim(Text1(1).Text) Trim(Text1(2).Text) Then MsgBox 两次输入密码不一样,请确认!, vbOKOnly + vbExclamation, 警告 Text1(1).SetFocus Text1(1).Text = Text1(2).Text = Exit Sub Else 判断输入密码是否为空If Text1(1).Text = Then MsgBox 密码不能为空!, vbOKOnly + vbExclamation, 警告 Text1(1).SetFocus Text1(1).Text = Text1(2).Text = Else mrc.AddNew mrc.Fields(0) = Trim(Text1(0).Text) mrc.Fields(1) = Trim(Text1(1).Text) mrc.Update mrc.Close Me.Hide MsgBox 添加用户成功!, vbOKOnly + vbExclamation, 添加用户 End If End If End Sub一旦输入密码完毕,系统将首先查询数据库中与新建用户名相同的记录,如果有相同的记录将提示用户重新输入用户名。但确定数据库中没有相同的用户名,并且两次输入密码一致的时候,将把该条记录添加到数据库中。单击取消按钮将取消添加用户的操作。修改用户密码窗体创建两次输入密码后,单击“确认”按钮,将触发Click事件判断是否修改密码,代码如下控 件属 性属性取值frmLogin(From)NamefrmLoginCaption修改密码StartUpPostionCenterScreenWindowStateNomaltxtUserNameNametxtUserNameTxtpassword1NametxtPassword1password*NametxtPasswordPassword*cmdOKNamecmdOKCaption确定cmdCancelNamecmdCancelCaption取消Label1Caption请输入密码Label2Caption请确认密码Private Sub cudOK_Click() Dim txtSQL, MsgText As String Dim mrc ADODB.Recrodset 判断是否为空If Trim(Text(1).Text)Trim(Text(2).Text)Then MsgBox“密码输入不正确!”,vbOKOnly+vbExclamation,“警告” Text(1).SetFocus Text(1).Text=“”Else txtSQL=”select*from user_Info where user_ID=”&UserName&” Set mrc=ExecuteSQL(txtSQL,MsgText) mrc.Fields(1)=Text(1).Text mrc.Update mrc.Close MsgBox”密码修改成功!”,vbOKOnly+vbExclamation,”修改密码” Me.hideEnd ifEnd sub学籍管理模块的创建控 件属 性 属性取值txtSIDNametxtSIDtxtTelNametxtTeltxtRudateNametxtRudatetxtAddressScrollBarsVerticalMultiLineTruetxtCommentNametxtCommentScrollBarsVerticalMultiLineTruecomboGenderNamecomboGendercomboClassNoNamecomboClassNocmdFirstNamecndOKCaption第一条记录cmdPreviousNamecmdNextCaption上一条记录cmdNextNamecmdNextCaption下一条记录cmdLastNamecmdLastCaption最后一条记录cmdEditNamecmdEditCaption修改记录cmdUpdateNamecmdUpdateCaption更新记录cmdCancelNamecmdCancelCaption取消修改记录cmdDeleteNamecmdDeleteCaption删除记录Frame1Caption查看学籍信息Frame2Caption修改学籍信息Label1Caption学号Label2Caption姓名Label3Caption性别Label4Caption出生日期Label5Caption班号Label6Caption联系电话Label7Caption入校日期Label8Caption家庭住址Label9Caption备注功能如下1添加学籍信息2 修改学籍信息3 查询学籍信息代码如下:添加学籍信息窗体创建Private Sub Command1_Click() 定义数据集对象Dim mrc As ADODB.Recordset 定义字符串变量,表示查询语句Dim txtSQL As String 定义字符串变量,返回查询信息 Dim MsgText As String 是否输入学号 If Not Testtxt(txtSID.Text) Then MsgBox 请输入学号!, vbOKOnly + vbExclamation, 警告 txtSID.SetFocus Exit Sub End If If Not Testtxt(txtName.Text) Then MsgBox 请输入姓名!, vbOKOnly + vbExclamation, 警告 txtName.SetFocus Exit Sub End If 判断是否输入姓名 If Not Testtxt(comboSex.Text) Then MsgBox 请选择性别!, vbOKOnly + vbExclamation, 警告 comboSex.SetFocus Exit Sub End If 判断是否输入性别 If Not Testtxt(txtBorndate.Text) Then MsgBox 请输入出生日期!, vbOKOnly + vbExclamation, 警告 txtBorndate.SetFocus Exit Sub End If 判断是否输入出生日期 If Not Testtxt(comboClassno.Text) Then MsgBox 请选择班号!, vbOKOnly + vbExclamation, 警告 comboClassno.SetFocus Exit Sub End If 判断是否选择班号 If Not Testtxt(txtTel.Text) Then MsgBox 请输入联系电话!, vbOKOnly + vbExclamation, 警告 txtTel.SetFocus Exit Sub End If 判断是否输入联系电话 If Not Testtxt(txtRudate.Text) Then MsgBox 请输入入校日期!, vbOKOnly + vbExclamation, 警告 txtRudate.SetFocus Exit Sub End If If Not Testtxt(txtAddress.Text) Then MsgBox 请输入家庭住址!, vbOKOnly + vbExclamation, 警告 txtAddress.SetFocus Exit Sub End If If Not IsNumeric(Trim(txtSID.Text) Then MsgBox 请输入数字!, vbOKOnly + vbExclamation, 警告 Exit Sub txtSID.SetFocus End If txtSQL = select * from student_Info where student_ID = & Trim(txtSID.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = False Then MsgBox 学号重复,请重新输入!, vbOKOnly + vbExclamation, 警告 mrc.Close txtSID.SetFocus Else mrc.Close If Not IsDate(txtBorndate.Text) Then MsgBox 出生时间应输入日期格式(yyyy-mm-dd)!, vbOKOnly + vbExclamation, 警告 txtBorndate.SetFocus Else txtBorndate = Format(txtBorndate, yyyy-mm-dd) If Not IsDate(txtRudate.Text) Then MsgBox 入校时间应输入日期格式(yyyy-mm-dd)!, vbOKOnly + vbExclamation, 警告 txtRudate.SetFocus Else txtRudate = Format(txtRudate, yyyy-mm-dd) txtSQL = select * from student_Info Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.AddNew mrc.Fields(0) = Trim(txtSID.Text) mrc.Fields(1) = Trim(txtName.Text) mrc.Fields(2) = Trim(comboSex.Text) mrc.Fields(3) = Trim(txtBorndate.Text) mrc.Fields(4) = Trim(comboClassno.Text) mrc.Fields(5) = Trim(txtTel.Text) mrc.Fields(6) = Trim(txtRudate.Text) mrc.Fields(7) = Trim(txtAddress.Text) mrc.Fields(8) = Trim(txtComment.Text) mrc.Update MsgBox 添加学籍信息成功!, vbOKOnly + vbExclamation, 警告 mrc.Close Me.Hide End If End If End If程序首先对是否输入内容进行判断,然后进行格式判断,使用了下面两个函数判断数据是否日期格式IsDate(txtBorndate.Text)判断数据是否日期格式IsDate(txtRudate.Text)判断是否有重复记录是很重要的,否则数据库中将发生错误。 修改学籍信息窗体创建控 件属 性 属性取值txtSIDNametxtSIDtxtTelNametxtTeltxtRudateNametxtRudatetxtAddressScrollBarsVerticalMultiLineTruetxtCommentNametxtCommentScrollBarsVerticalMultiLineTruecomboGenderNamecomboGendercomboClassNoNamecomboClassNocmdFirstNamecndOKCaption第一条记录cmdPreviousNamecmdNextCaption上一条记录cmdNextNamecmdNextCaption下一条记录cmdLastNamecmdLastCaption最后一条记录cmdEditNamecmdEditCaption修改记录cmdUpdateNamecmdUpdateCaption更新记录cmdCancelNamecmdCancelCaption取消修改记录cmdDeleteNamecmdDeleteCaption删除记录Frame1Caption查看学籍信息Frame2Caption修改学籍信息Label1Caption学号Label2Caption姓名Label3Caption性别Label4Caption出生日期Label5Caption班号Label6Caption联系电话Label7Caption入校日期Label8Caption家庭住址Label9Caption备注定义数据集对象Dim mrc As ADODB.Recordset定义书签,用来记载当前记录位置Dim myBookmark As Variant判断是否修改记录Dim mcclean As Boolean程序在窗体载入时自动加入各条记录Private Sub editCommand_Click() mcclean = False Frame2.Enabled = False firstCommand.Enabled = False previousCommand.Enabled = False nextCommand.Enabled = False lastCommand.Enabled = False txtSID.Enabled = True txtName.Enabled = True comboSex.Enabled = True txtBorndate.Enabled = True comboClassno.Enabled = True txtRudate.Enabled = True txtTel.Enabled = True txtAddress.Enabled = True txtComment.Enabled = True myBookmark = mrc.BookmarkEnd SubPrivate Sub cancelCommand_Click() If Not mcclean Then Frame2.Enabled = True firstCommand.Enabled = True previousCommand.Enabled = True nextCommand.Enabled = True lastCommand.Enabled = True txtSID.Enabled = False txtName.Enabled = False comboSex.Enabled = False txtBorndate.Enabled = False comboClassno.Enabled = False txtRudate.Enabled = False txtTel.Enabled = False txtAddress.Enabled = False txtComment.Enabled = False mrc.Bookmark = myBookmark Call viewData Else MsgBox 什么都没有修改,有什么好取消的!, vbOKOnly + vbExclamation, 警告 End If End SubPrivate Sub deleteCommand_Click() myBookmark = mrc.Bookmark str2$ = MsgBox(是否删除当前记录?, vbOKCancel, 删除当前记录) If str2$ = vbOK Then mrc.MoveNext If mrc.EOF Then mrc.MoveFirst myBookmark = mrc.Bookmark mrc.MoveLast mrc.Delete mrc.Bookmark = myBookmark Call viewData Else myBookmark = mrc.Bookmark mrc.MovePrevious mrc.Delete mrc.Bookmark = myBookmark Call viewData End If Else mrc.Bookmark = myBookmark Call viewData End IfEnd SubPrivate Sub firstCommand_Click() mrc.MoveFirst Call viewDataEnd SubPrivate Sub Form_Load() SOL语句 Dim txtSQL As String Dim MsgText As String txtSQL = select * from student_Info 执行查询操作Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.MoveFirst 显示数据 Call viewData mcbookmark = mrc.Bookmark mcclean = True End Sub由于程序各处需要显示数据,定义函数viewDataPublic Sub viewData() txtSID.Text = mrc.Fields(0) txtName.Text = mrc.Fields(1) comboSex.Text = mrc.Fields(2) txtBorndate.Text = Format(mrc.Fields(3), yyyy-mm-dd) comboClassno.Text = mrc.Fields(4) txtTel.Text = mrc.Fields(5) txtRudate.Text = Format(mrc.Fields(6), yyyy-mm-dd) txtAddress.Text = mrc.Fields(7) txtComment.Text = mrc.Fields(8)End Sub单击“最后一条记录”,将显示最后一条记录Private Sub lastCommand_Click() 移动到数据集的最后一条记录mrc.MoveLast Call viewDataEnd SubPrivate Sub nextCommand_Click() mrc.MoveNext If mrc.EOF Then mrc.MoveFirst End If Call viewDataEnd SubPrivate Sub previousCommand_Click() mrc.MovePrevious If mrc.BOF Then mrc.MoveLast End If Call viewDataEnd Sub修改完毕后,单击“更新记录“按钮,将触发Click事件Private Sub updateCommand_Click() Dim txtSQL As String Dim MsgText As String Dim mrcc As ADODB.Recordset 判断是否处于修改状态 If mcclean Then MsgBox 请先修改学籍信息, vbOKOnly + vbExclamation, 警告 Exit Sub End If 判断数据是否为空 If Not Testtxt(txtSID.Text) Then MsgBox 请输入学号!, vbOKOnly + vbExclamation, 警告 txtSID.SetFocus Exit Sub End If 判断学号是否为空 If Not Testtxt(txtName.Text) Then MsgBox 请输入姓名!, vbOKOnly + vbExclamation, 警告 txtName.SetFocus Exit Sub End If 判断姓名是否为空
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年注册电气工程师题库试题及完整答案详解
- 2025河南郑州航空港区某国企梅河芳邻选手村项目招聘12人考前自测高频考点模拟试题有答案详解
- 2025福建漳州市漳浦安然招聘2人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025年洮南市面向社会公开招聘化工园区特勤站政府专职消防员聘用人员考前自测高频考点模拟试题及1套参考答案详解
- 2025广西河池市天峨县自然资源局招聘机关事业单位编外聘用人员2人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025广西壮族自治区卫生健康委员会机关服务中心公开招聘1人(第二批)考前自测高频考点模拟试题及答案详解(易错题)
- 2025春季新疆石河子大学第一附属医院、石河子大学附属中医医院(兵团中医医院)校园招聘10人考前自测高频考点模拟试题及答案详解(全优)
- 2025辽宁沈阳科技学院诚聘高层次人才模拟试卷参考答案详解
- 公路安全问答题库大全及答案解析
- 广州网约车岗前培训考试及答案解析
- 2025年甘肃省天水市供热有限公司招聘12人笔试历年参考题库附带答案详解
- 2025年一卷政治高考真题及答案
- 安静与智慧主题班会课件
- 云南民族大学附属高级中学2026届高三上学期联考(一)生物试卷(含答案)
- 2025至2030年中国包月视频点播行业市场竞争格局分析及投资方向研究报告
- 皮带机安全知识培训
- 零星维修工程施工组织设计方案方案
- 2025年汽车驾驶员(技师)考试试题及答案(含答案)
- 2025大连国际机场招聘25人笔试历年参考题库附带答案详解
- 2025年浙江铁塔招聘笔试备考题库(带答案详解)
- 2025年上海市(秋季)高考语文真题详解
评论
0/150
提交评论