《vb课程设计_学生信息管理系统.doc》由会员分享,可在线阅读,更多相关《vb课程设计_学生信息管理系统.doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程设计说明书 NO.1课程设计题目:学生信息管理系统1.课程设计目的根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容。老师希望通过这次课程设计,让同学们更好的了解VB软件的使用和对程序的设计。通过让同学对具体的系统进行开发,增加学生的动手能力、分析能力,增强同学的编程能力,让同学走出教室,通过实践来加深对课堂知识的理解,从而应用到实际的生活中。2.功能描述随着学校规模的不断扩大,学生的数量急剧增加,有关学生的各种信息管理也成倍增长。而对于庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率,取代从前的手工操作。基于今后计算机的网路普及以及方便实现用户阅读及统一查询,所以
2、使用SQL server2000做数据库系统,使用Visual Basic作为前台处理软件建立一个学生信息管理系统。实现的功能包括:系统管理,实现的功能是对用户的管理,包括用户的注册、和身份的验证;学籍信息管理,实现学生信息的添加、修改、查询;班级信息管理,包括班级信息的添加、修改;课程信息管理,实现对课程信息的添加、修改,对年级课程的设置;成绩管理,实现对成绩的添加、修改、查询。3.概要设计系统的功能模块包括系统管理模块、学籍信息管理模块、班级信息管理模块、课程信息管理模块、成绩信息管理模块。框架图如下:图1:学生信息管理结构图 沈 阳 大 学课程设计说明书 NO.2系统各模块的功能:系统管
3、理:实现的功能是对用户的管理,包括用户的注册、和身份的验证。学籍信息管理:实现学生信息的添加、修改、查询。班级信息管理:包括班级信息的添加、修改。课程信息管理:实现对课程信息的添加、修改,对年级课程的设置。成绩管理:实现对成绩的添加、修改、查询。4.详细设计4.1对数据库的设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可提高数据存储的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利于程序的实现。用户的需求具体体现在各种信息的提供、保证、更新和查询,这就要求数据库结构能够充分满足各种信息的输出和输
4、入。针对一般学生信息管理系统的要求,通过对学生学习过程的内容和数据流程分析,设计如下的数据项和数据结构:学生基本信息:包括的数据项有:学生学号、学生姓名、性别、出身日期、班号、联系电话、入校日期、家庭地址、备注等。班级信息:包括的数据项有:班号、所在年级、班主任姓名、所在教室等。课程基本信息:包括的数据项有:课程号、课程名称、课程类别、课程描述等。课程设置信息:包括数据项有:年级信息、所学课程等。学生成绩信息:包括数据项有:考试编号、所在班号、学生学号、学生姓名、所学课程、考试分数等。根据上面的数据结构、数据项和数据流程,进行以下的图表设计,如表1、表2、表3、表4、表5: 沈 阳 大 学课程
5、设计说明书 NO.3表1:学生基本信息表字段类型宽度学生学号字符型8学生姓名字符型8性别字符型2出生日期日期型8班号整型4联系电话字符型11入校日期日期型8家庭地址字符型50备注字符型100表2:班级信息表字段类型宽度班号整型4所在年级字符型10班主任姓名字符型8所在教室字符型10表3:课程基本信息表字段类型宽度课程号整型4课程名称字符型10课程类别字符型10课程描述字符型50表4:课程设置信息表字段类型宽度年级信息字符型10所学课程字符型10 沈 阳 大 学课程设计说明书 NO.4表5:学生成绩信息字段类型宽度考试编号字符型10所在班号数字型8学生学号整型4学生姓名字符型10考试分数浮点数8
6、4.2系统设计用Visual Basic来编写数据库系统客户端程序即学生信息管理系统中各功能模块。该系统包括:工程文件Student_Mis.vbp,标准模块文件Module1.bas,主窗体文件frmMain.frm,登陆窗体文件frmLogin.frm,添加用户窗体文件frmAdduser.frm。修改用户密码窗体文件frmModifyuserinfo.frm,添加学籍信息窗体文件frmAddsinfo.frm,修改学籍信息窗体文件frmModifysinfo.frm,查询学籍信息窗体文件frmInquiresinfo.frm,添加班级信息窗体文件frmAddclassinfo.frm,修
7、改班级信息窗体文件frmModifyclassinfo.frm,添加课程信息窗体文件frmAddcourseinfo.frm,修改课程信息窗体文件frmModifycourseinfo.frm,设置年级课程窗体文件frmSetcourseinfo.frm,添加成绩信息窗体文件frmAddresult.frm,修改成绩窗体文件frmModifyresult.frm,查询成绩信息窗体文件frmInquireresult.frm。4.2.1学生信息管理系统主窗体的创建(1)创建一个工程名为Student_Mis的工程文件Student_Mis.vbp。(2)创建学生信息管理系统的主窗体MID窗体,窗
8、体名为frmMain,窗体文件名为:frmMain.frm。(3)创建主窗体的菜单。 沈 阳 大 学课程设计说明书 NO.5表6:菜单结果表对象属性属性值对象属性属性值主菜单项1名称sysMenu子菜单项2名称modifycionfoMenu标题系统标题修改班级信息子菜单项1名称adduserMenu主菜单项4名称courseMenu标题添加用户标题课程设置子菜单项2名称modifypwdMenu子菜单项1名称addcourseMenu标题修改密码标题添加课程设计子菜单项3名称exitMenu子菜单项2名称modifycourseMenu标题退出系统标题修改课程信息主菜单项2名称sinfoMe
9、nu子菜单项3名称gradecourseMenu标题学籍信息标题设计年级课程子菜单项1名称addsinfoMenu主菜单项5名称resultMenu标题添加学籍信息标题成绩管理子菜单项2名称modifysinfoMenu子菜单项1名称addresultMenu标题修改学籍信息标题添加成绩信息子菜单项3名称inquiresinfoMenu子菜单项2名称modifyresultMenu标题查询学籍信息标题修好学籍信息主菜单项3名称classinfoMenu子菜单项3名称inquireresultMenu标题班级管理标题查询成绩信息子菜单项1名称addcinfoMenu标题添加班级信息(4) 创建公
10、共模块。在工程资源管理器中为项目添加一个名称为Module的标准模块文件。4.2.2系统用户管理模块的创建系统用户管理模块主页实现:用户登陆、用户添加、修改用户密码。用户登陆窗体的创建。进入系统后出现用户登陆窗体,用户首先输入用户名,然后输入密码。如果用户3次输入密码不正确,将退出程序。4.2.3学籍管理模块的创建学籍信息管理主题实现如下功能:添加学籍信息、修改学籍信息、查询学校信息。通过学籍信息管理模块,能方便的对学生的学号、性别、班号、年龄、出生日期、姓名、入校日期、家庭住址、备注等进行方便的修改和添加。4.2.4班级管理模块的创建 沈 阳 大 学课程设计说明书 NO.6班级管理模块主要实
11、现如下功能:添加班级信息、修改班级信息。窗体中各个表的控件属性设置见下表:表7 班级信息表控件属性属性取值控件属性属性取值FrmAddclassinfo(Form)NameFrmAddclassinfoLabel1Caption班号Caption添加班级信息Command2NameCommand2MIDChildTrueCaption退出按钮txtClassnoNametxtClassnoLabel2Caption年级comboGradeNamecomboGradeLabel3Caption班主任txtDirectorNametxtDirectorLabel4Caption教室txtClass
12、roomNametxtClassroomCommand1NameCommand1Caption确定添加4.2.5课程设置模块的创建课程设置模块主要实现如下功能:添加课程信息、修改课程信息、设置年级课程。方便的进行课程的添加,主要包括课程编号、课程名称、课程类型和课程描述进行添加。通过对课程的设计,能快速的对课程进行管理。4.2.6成绩管理模块的创建成绩管理模块主要实现如下功能:添加成绩信息、修改成绩信息、查询成绩信息。通过成绩管理模块,能对学生的成绩进行方便的修改、添加。能通过学生的考试编号、学号、班号和课程对学生的成绩进行录入,方便了成绩的管理。5.效果及存在问题(1)用户登录首页图2:用户
13、登录 沈 阳 大 学课程设计说明书 NO.7用户登陆窗体的创建。进入系统后出现用户登陆窗体,用户首先输入用户名,然后输入密码。如果用户3次输入密码不正确,将退出程序。(1) 用户管理界面图3:添加用户界面通过用户界面,可以进行添加用户,方便的对用户的身份进行管理。(2) 学籍管理模块学籍信息管理主题实现如下功能:添加学籍信息;修改学籍信息;查询学校信息。添加学籍信息窗体的创建。选择“学籍管理|添加学籍信息”菜单,将出现如图4所示的窗体。图4:添加学生信息修改学籍信息窗体的创建。选择“学籍管理|修改学籍信息”菜单,将会出现如图5所示的窗体。这个窗体在添加学籍信息窗体的基础上增加了两排按钮。 沈
14、阳 大 学课程设计说明书 NO.8图5:修改学籍信息查询学籍信息窗体的建立。选择“学籍管理|查询学籍信息”菜单,将出现如图6所示的窗体。这里可以按照各种方式以及它们的组合进行查询。图6:查询学籍信息(3) 班级管理模块班级管理模块主要实现如下功能:添加班级信息;修改班级信息。 沈 阳 大 学课程设计说明书 NO.9添加班级信息窗体的创建。选择“班级管理|添加班级信息”菜单,将出现如图7所示的窗体。图7:添加班级信息界面(5)课程设置模块课程设置模块主要实现如下功能:添加课程信息;修改课程信息;设置年级课程。添加课程信息窗体的创建。选择“课程设置|添加课程信息”菜单,将出现如图8所示的窗体。图8
15、:添加课程信息界面单击“确定添加”按钮,添加班级信息。单击“取消添加”将退出程序。代码可以参照上面的添加班级信息修改课程信息窗体的创建。选择“课程设置|修改课程信息”菜单,将出现如图9所示的窗体。 沈 阳 大 学课程设计说明书 NO.10图9:修改课程信息界面查看课程信息和修改基础信息框架中的按钮的功能,方法前面已经介绍过,参照前面的内容。设置年级课程窗体的创建。选择菜单“课程设置|设置年级课程”,将出现如图10所示的窗体。图10:年级课程信息界面单击“确认设置”按钮,将课程设置数据保存到数据库中。单击“退出课程设置”按钮 沈 阳 大 学课程设计说明书 NO.11将推出界面。(6)成绩管理模块
16、成绩管理模块主要实现如下功能:添加成绩信息;修改成绩信息;查询成绩信息。添加成绩信息窗体的创建。选择“成绩管理|添加成绩信息”菜单,将出现如图11所示的窗体。图11:添加成绩界面控件属性及代码和前面大部分窗体一样。修改成绩信息窗体的创建。如图12图12:修改成绩界面 沈 阳 大 学课程设计说明书 NO.12查询成绩信息窗体的创建。如图13所示图13:添加成绩信息界面通过成绩查询,可以方便的选择各种查询的方式,例如选择按姓名查询。6.心得体会:通过对学生信息管理系统的设计,让我看到了自己的不足点,在思考问题时才真正觉得“书到用时方恨少”,到实验时才想起来翻看书本,暴露出平时学习知识不扎实,我相信
17、自己会更专心的学习,逐步提高理论知识,从而更好的实践。通过本次课程设计我发现了自身知识的欠缺,在对资料的查询和阅读过程中学到了很多新的东西,这在很大程度上拓宽了我的知识面,锻炼了能力,使得我的综合素质得到较大提高。只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。当然在课程设计过程中也发现了很多问题,有些在设计过程中已经解决,有些还要待今后慢慢学习,无论遇到多少困难,我坚信,只要不断进取,不断学习,就会不断收获。最后还要感谢同学的帮助和老师的指导,让我完成了这次课程设计。7. 参考文献1 周扬,郭晓
18、东.动态链接库技术及应用J.电脑编程技巧与维护2 岂兴明,银华强等编著. 营Visual Basic.NET项目开发宝典M. 电子工业出版社.2002.4:88-1123 甘仞初. 信息系统开发M. 北京经济科学出版社.2003.1:216-235 沈 阳 大 学课程设计说明书 NO.134 郝春强.新概念VISUAL BA SIC 6 教程M.工业出版社.2007.8:186-1995 龙浩健. 图书馆计算机集成系统管理及维护策略M. 北京:科学出版社.2004.7:17-386 何旭洪. Visual Basic 数据库开发实例导航M. 南京:东南大学出版社.2002.1:310-3428
19、. 附录(1)学生信息管理系统主窗体代码如下:Private Sub MDIForm_Load() Me.Left = GetSetting(App.Title, Settings, MainLeft, 1000) Me.Top = GetSetting(App.Title, Settings, MainTop, 1000) Me.Width = GetSetting(App.Title, Settings, MainWidth, 6500) Me.Height = GetSetting(App.Title, Settings, MainHeight, 6500)End SubPrivate
20、Sub MDIForm_Unload(Cancel As Integer) If Me.WindowState vbMinimized Then SaveSetting App.Title, Settings, MainLeft, Me.Left SaveSetting App.Title, Settings, MainTop, Me.Top SaveSetting App.Title, Settings, MainWidth, Me.Width SaveSetting App.Title, Settings, MainHeight, Me.Height End IfEnd SubPrivat
21、e Sub modifycinfoMenu_Click() frmModifyclassinfo.ShowEnd SubPrivate Sub modifycourseMenu_Click() frmModifycourseinfo.ShowEnd SubPrivate Sub modifypwdMenu_Click() frmModifyuserinfo.ShowEnd SubPrivate Sub modifyresultMenu_Click() frmModifyresult.ShowEnd SubPrivate Sub modifysinfo_Menu_Click() frmModif
22、ysinfo.ShowEnd Sub在工程资源管理器中为项目添加一个名称为Module的标准模块文件Module.bas。代码如下:Public fMainForm As frmMainPublic UserName As StringSub Main() 沈 阳 大 学课程设计说明书 NO.14 Dim fLogin As New frmLoginfLogin.Show vbModalIf Not fLogin.OK Then Login Failed so exit app End End If Unload fLogin Set fMainForm = New frmMain fMain
23、Form.ShowEnd SubPublic Function ConnectString() _ As Stringreturns a DB ConnectString ConnectString = FileDSN=studentinfo.dsnEnd FunctionPublic Function ExecuteSQL(ByVal SQL _ As String, MsgString As String) _ As ADODB.Recordsetexecutes SQL and returns Recordset Dim cnn As ADODB.Connection Dim rst A
24、s ADODB.Recordset Dim sTokens() As String On Error GoTo ExecuteSQL_Error sTokens = Split(SQL) Set cnn = New ADODB.Connection cnn.Open ConnectString If InStr(INSERT,DELETE,UPDATE, _ UCase$(sTokens(0) Then cnn.Execute SQL MsgString = sTokens(0) & _ query successful Else Set rst = New ADODB.Recordset r
25、st.Open Trim$(SQL), cnn, _ adOpenKeyset, _ adLockOptimistic rst.MoveLast get RecordCount Set ExecuteSQL = rst MsgString = 查询到 & rst.RecordCount & _ 条记录 End If 沈 阳 大 学课程设计说明书 NO.15 ExecuteSQL_Exit: Set rst = Nothing Set cnn = Nothing Exit FunctionExecuteSQL_Error:MsgString = 查询错误: & _ Err.Description
26、 Resume ExecuteSQL_ExitEnd FunctionPublic Function Testtxt(txt As String) As Boolean If Trim(txt) = Then Testtxt = False Else Testtxt = True End IfEnd Function(2)用户登录代码如下:Option ExplicitPublic OK As Boolean记录确定次数Dim miCount As IntegerPrivate Sub Form_Load() OK = False miCount = 0End SubPrivate Sub c
27、mdCancel_Click() OK = False Me.HideEnd SubPrivate Sub cmdOK_Click() 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,
28、警告 txtUserName.SetFocus Else 沈 阳 大 学课程设计说明书 NO.16 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(txtPasswor
29、d.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(3)学籍管理代码如下:Private Sub Command1_Cl
30、ick() 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 N
31、ot Testtxt(comboSex.Text) Then 沈 阳 大 学课程设计说明书 NO.17 MsgBox 请选择性别!, vbOKOnly + vbExclamation, 警告 comboSex.SetFocus Exit Sub End IfIf Not Testtxt(txtBorndate.Text) Then MsgBox 请输入出生日期!, vbOKOnly + vbExclamation, 警告 txtBorndate.SetFocus Exit Sub End If If Not Testtxt(comboClassno.Text) Then MsgBox 请选择班
32、号!, 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 I
33、f 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 IftxtSQL = select * from student_Info where student_ID = & Trim(txtSI
34、D.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = False Then MsgBox 学号重复,请重新输入!, vbOKOnly + vbExclamation, 警告 mrc.Close txtSID.SetFocusElse 沈 阳 大 学课程设计说明书 NO.18mrc.Close If Not IsDate(txtBorndate.Text) Then MsgBox 出生时间应输入日期格式(yyyy-mm-dd)!, vbOKOnly + vbExclamation, 警告 txtBorndate.SetFocus
35、 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
36、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 End SubPrivate Sub Comma