学生信息管理系统VB.docx

上传人:b****6 文档编号:4512695 上传时间:2022-12-01 格式:DOCX 页数:30 大小:332.08KB
下载 相关 举报
学生信息管理系统VB.docx_第1页
第1页 / 共30页
学生信息管理系统VB.docx_第2页
第2页 / 共30页
学生信息管理系统VB.docx_第3页
第3页 / 共30页
学生信息管理系统VB.docx_第4页
第4页 / 共30页
学生信息管理系统VB.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

学生信息管理系统VB.docx

《学生信息管理系统VB.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统VB.docx(30页珍藏版)》请在冰豆网上搜索。

学生信息管理系统VB.docx

学生信息管理系统VB

 

课程设计

 

VB课程设计报告

 

系别:

计算机科学与技术系

专业(班级):

作者(学号):

指导教师:

完成日期:

2008年12月20日

 

教务处制

 

题目:

学生信息管理系统的实现

内容摘要:

学生信息管理系统主要包括班级管理信息的输入、查询、修改;学校基本课程信息的输入、修改;学生课程信息的设置和修改;学生成绩信息的输入、修改、查询以及统计。

1.需求分析----------------------------------------2

 

2.概要设计-----------------------------------------4

 

3.详细设计-----------------------------------------4

4.测试-----------------------------------------------25

5.附录或参考资料----------------------------------26

 

1:

需求分析

随着学校规模的不断扩大,学生的数量急剧增加,有关学生的各种信息管理也成倍增长。

而对于庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率,取代从前的手工操作。

基于今后计算机的网路普及以及方便实现用户阅读及统一查询,所以使用SQLserver2000做数据库系统,使用VisualBasic作为前台处理软件。

(1)系统分析

a.系统功能分析

班级管理信息的输入,包括班级设置、年级的设置等;班级管理信息管理的查询;班级管理信息的修改;学校基本课程信息的输入;基本课程信息的修改;学生课程信息的设置和修改;学生成绩信息的输入;学生成绩信息的修改;学生成绩信息的查询;学生成绩信息的统计。

b.系统功能模块分析

上述各功能的系统功能模块图如下:

(2)数据库分析

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。

合理的数据库结构设计可提高数据存储的效率,保证数据的完整和一致。

同时,合理的数据库结构也将有利于程序的实现。

数据库需求分析

用户的需求具体体现在各种信息的提供、保证、更新和查询,这就要求数据库结构能够充分满足各种信息的输出和输入。

针对一般学生信息管理系统的要求,通过对学生学习过程的内容和数据流程分析,设计如下的数据项和数据结构:

a.学生基本信息:

包括的数据项有:

学生学号、学生姓名、性别、出身日期、班号、联系电话、入校日期、家庭地址、备注等。

b.班级信息:

包括的数据项有:

班号、所在年级、班主任姓名、所在教室等。

c.课程基本信息:

包括的数据项有:

课程号、课程名称、课程类别、课程描述等。

d.课程设置信息:

包括数据项有:

年级信息、所学课程等。

e.学生成绩信息:

包括数据项有:

考试编号、所在班号、学生学号、学生姓名、所学课程、考试分数等。

根据上面的数据结构、数据项和数据流程,进行一下的数据库设计。

2.概要设计

(1)数据库设计

利用SQLserver2000数据库系统中的SQl企业管理器,建立数据库student.sql文件,数据库名为:

student,在student数据库中创建6个表,分别为:

学生基本信息表、班级基本信息表、课程基本信息表、年级课程基本信息表、学生成绩信息表、系统用户表。

(2)系统设计

用VisualBasic来编写数据库系统客户端程序即学生信息管理系统中各功能模块。

该系统包括:

工程文件Student_Mis.vbp,标准模块文件Module1.bas,主窗体文件frmMain.frm,登陆窗体文件frmLogin.frm,添加用户窗体文件frmAdduser.frm。

修改用户密码窗体文件frmModifyuserinfo.frm,添加学籍信息窗体文件frmAddsinfo.frm,修改学籍信息窗体文件frmModifysinfo.frm,查询学籍信息窗体文件frmInquiresinfo.frm,添加班级信息窗体文件frmAddclassinfo.frm,修改班级信息窗体文件frmModifyclassinfo.frm,添加课程信息窗体文件frmAddcourseinfo.frm,修改课程信息窗体文件frmModifycourseinfo.frm,设置年级课程窗体文件frmSetcourseinfo.frm,添加成绩信息窗体文件frmAddresult.frm,修改成绩窗体文件frmModifyresult.frm,查询成绩信息窗体文件frmInquireresult.frm。

3.详细设计

(1)数据库设计

a.数据库概念结构设计

得到数据项和数据结构后,设计出能够满足用户需求的各种实体,以及它们之间的关系。

这些实体包括具体信息,通过相互之间的作用形成数据段流动。

设计规划出的实体有:

年级实体、学生实体、课程实体。

各个实体具体的描述及关系的E-R图如下图所示。

b.数据库逻辑结构设计

学生信息管理系统数据库中各表设计结果如图1.1~1.6所示。

每个表格表示在数据库中的一个表。

表1.1student_info学生基本信息表

表1.2class_info班级信息表

表1.3course_info课程基本信息

表1.4gradecourse_info年级课程设计表格

表1.5result_info学生成绩信息表

表1.6user_info系统用户表

(2)系统设计

1.学生信息管理系统主窗体的创建

a.创建一个工程名为Student_Mis的工程文件Student_Mis.vbp。

b.创建学生信息管理系统的主窗体MID窗体,窗体名为frmMain,窗体文件名为:

frmMain.frm。

c.创建主窗体的菜单。

主窗体

表2.1菜单结果表

对象

属性

属性值

对象

属性

属性值

主菜单项1

名称

sysMenu

子菜单项2

名称

modifycionfoMenu

标题

系统

标题

修改班级信息

子菜单项1

名称

adduserMenu

主菜单项4

名称

courseMenu

标题

添加用户

标题

课程设置

子菜单项2

名称

modifypwdMenu

子菜单项1

名称

addcourseMenu

标题

修改密码

标题

添加课程设计

子菜单项3

名称

exitMenu

子菜单项2

名称

modifycourseMenu

标题

退出系统

标题

修改课程信息

主菜单项2

名称

sinfoMenu

子菜单项3

名称

gradecourseMenu

标题

学籍信息

标题

设计年级课程

子菜单项1

名称

addsinfoMenu

主菜单项5

名称

resultMenu

标题

添加学籍信息

标题

成绩管理

子菜单项2

名称

modifysinfoMenu

子菜单项1

名称

addresultMenu

标题

修改学籍信息

标题

添加成绩信息

子菜单项3

名称

inquiresinfoMenu

子菜单项2

名称

modifyresultMenu

标题

查询学籍信息

标题

修好学籍信息

主菜单项3

名称

classinfoMenu

子菜单项3

名称

inquireresultMenu

标题

班级管理

标题

查询成绩信息

子菜单项1

名称

addcinfoMenu

标题

添加班级信息

学生信息管理系统主窗体代码如下:

PrivateSubMDIForm_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)

EndSub

PrivateSubMDIForm_Unload(CancelAsInteger)

IfMe.WindowState<>vbMinimizedThen

SaveSettingApp.Title,"Settings","MainLeft",Me.Left

SaveSettingApp.Title,"Settings","MainTop",Me.Top

SaveSettingApp.Title,"Settings","MainWidth",Me.Width

SaveSettingApp.Title,"Settings","MainHeight",Me.Height

EndIf

EndSub

PrivateSubmodifycinfoMenu_Click()

frmModifyclassinfo.Show

EndSub

PrivateSubmodifycourseMenu_Click()

frmModifycourseinfo.Show

EndSub

PrivateSubmodifypwdMenu_Click()

frmModifyuserinfo.Show

EndSub

PrivateSubmodifyresultMenu_Click()

frmModifyresult.Show

EndSub

PrivateSubmodifysinfo_Menu_Click()

frmModifysinfo.Show

EndSub

d.创建公共模块。

在工程资源管理器中为项目添加一个名称为Module的标准模块文件Module.bas。

代码如下:

PublicfMainFormAsfrmMain

PublicUserNameAsString

SubMain()

DimfLoginAsNewfrmLogin

fLogin.ShowvbModal

IfNotfLogin.OKThen

'LoginFailedsoexitapp

End

EndIf

UnloadfLogin

SetfMainForm=NewfrmMain

fMainForm.Show

EndSub

PublicFunctionConnectString()_

AsString

'returnsaDBConnectString

ConnectString="FileDSN=studentinfo.dsn"

EndFunction

PublicFunctionExecuteSQL(ByValSQL_

AsString,MsgStringAsString)_

AsADODB.Recordset

'executesSQLandreturnsRecordset

DimcnnAsADODB.Connection

DimrstAsADODB.Recordset

DimsTokens()AsString

OnErrorGoToExecuteSQL_Error

sTokens=Split(SQL)

Setcnn=NewADODB.Connection

cnn.OpenConnectString

IfInStr("INSERT,DELETE,UPDATE",_

UCase$(sTokens(0)))Then

cnn.ExecuteSQL

MsgString=sTokens(0)&_

"querysuccessful"

Else

Setrst=NewADODB.Recordset

rst.OpenTrim$(SQL),cnn,_

adOpenKeyset,_

adLockOptimistic

'rst.MoveLast'getRecordCount

SetExecuteSQL=rst

MsgString="查询到"&rst.RecordCount&_

"条记录"

EndIf

ExecuteSQL_Exit:

Setrst=Nothing

Setcnn=Nothing

ExitFunction

ExecuteSQL_Error:

MsgString="查询错误:

"&_

Err.Description

ResumeExecuteSQL_Exit

EndFunction

PublicFunctionTesttxt(txtAsString)AsBoolean

IfTrim(txt)=""Then

Testtxt=False

Else

Testtxt=True

EndIf

EndFunction

2.系统用户管理模块的创建

a.系统用户管理模块主页实现:

用户登陆;用户添加;修改用户密码

用户登陆窗体的创建。

进入系统后出现如图2.1所示用户登陆窗体,用户首先输入用户名,然后输入密码。

如果用户3次输入密码不正确,将退出程序。

图2.1

代码如下:

OptionExplicit

PublicOKAsBoolean

'记录确定次数

DimmiCountAsInteger

PrivateSubForm_Load()

OK=False

miCount=0

EndSub

PrivateSubcmdCancel_Click()

OK=False

Me.Hide

EndSub

PrivateSubcmdOK_Click()

DimtxtSQLAsString

DimmrcAsADODB.Recordset

DimMsgTextAsString

'ToDo:

createtestforcorrectpassword

'checkforcorrectpassword

UserName=""

IfTrim(txtUserName.Text="")Then

MsgBox"没有这个用户,请重新输入用户名!

",vbOKOnly+vbExclamation,"警告"

txtUserName.SetFocus

Else

txtSQL="select*fromuser_Infowhereuser_ID='"&txtUserName.Text&"'"

Setmrc=ExecuteSQL(txtSQL,MsgText)

Ifmrc.EOF=TrueThen

MsgBox"没有这个用户,请重新输入用户名!

",vbOKOnly+vbExclamation,"警告"

txtUserName.SetFocus

Else

IfTrim(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=""

EndIf

EndIf

EndIf

miCount=miCount+1

IfmiCount=3Then

Me.Hide

EndIf

ExitSub

EndSub

用户添加窗体的创建。

进入系统后,选择菜单“系统|添加用户”就可以添加用户,会出现如图2.2所示的窗体。

图2.2

代码如下:

PrivateSubcmdCancel_Click()

UnloadMe

EndSub

PrivateSubcmdOK_Click()

DimtxtSQLAsString

DimmrcAsADODB.Recordset

DimMsgTextAsString

IfTrim(Text1(0).Text)=""Then

MsgBox"请输入用户名称!

",vbOKOnly+vbExclamation,"警告"

ExitSub

Text1(0).SetFocus

Else

txtSQL="select*fromuser_Info"

Setmrc=ExecuteSQL(txtSQL,MsgText)

While(mrc.EOF=False)

IfTrim(mrc.Fields(0))=Trim(Text1(0))Then

MsgBox"用户已经存在,请重新输入用户名!

",vbOKOnly+vbExclamation,"警告"

Text1(0).SetFocus

Text1(0).Text=""

Text1

(1).Text=""

Text1

(2).Text=""

ExitSub

Else

mrc.MoveNext

EndIf

Wend

EndIf

IfTrim(Text1

(1).Text)<>Trim(Text1

(2).Text)Then

MsgBox"两次输入密码不一样,请确认!

",vbOKOnly+vbExclamation,"警告"

Text1

(1).SetFocus

Text1

(1).Text=""

Text1

(2).Text=""

ExitSub

Else

IfText1

(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,"添加用户"

EndIf

EndIf

EndSub

 

修改用户密码窗体的创建。

用户可以修改自己的密码,选择“系统|修改密码”,出现如图2.3所示,在这个窗体中放置看两个文本框,用来输入密码和确认密码。

图2.3

代码如下:

PrivateSubcmdCancel_Click()

UnloadMe

EndSub

PrivateSubcmdOK_Click()

DimtxtSQL,MsgTextAsString

DimmrcAsADODB.Recordset

IfTrim(Text1

(1).Text)<>Trim(Text1

(2).Text)Then

MsgBox"密码输入不正确!

",vbOKOnly+vbExclamation,"警告"

Text1

(1).SetFocus

Text1

(1).Text=""

Else

txtSQL="select*fromuser_Infowhereuser_ID='"&UserName&"'"

Setmrc=ExecuteSQL(txtSQL,MsgText)

mrc.Fields

(1)=Text1

(1).Text

mrc.Update

mrc.Close

MsgBox"密码修改成功!

",vbOKOnly+vbExclamation,"修改密码"

Me.Hide

EndIf

EndSub

3.学籍管理模块的创建

学籍信息管理主题实现如下功能:

添加学籍信息;修改学籍信息;查询学校信息。

添加学籍信息窗体的创建。

选择“学籍管理|添加学籍信息”菜单,将出现如图2.4所示的窗体。

图2.4

代码如下:

PrivateSubCommand1_Click()

DimmrcAsADODB.Recordset

DimtxtSQLAsString

DimMsgTextAsString

ifNotTesttxt(txtSID.Text)Then

MsgBox"请输入学号!

",vbOKOnly+vbExclamation,"警告"

txtSID.SetFocus

ExitSub

EndIf

IfNotTesttxt(txtName.Text)Then

MsgBox"请输入姓名!

",vbOKOnly+vbExclamation,"警告"

txtName.SetFocus

ExitSub

EndIf

IfNotTesttxt(comboSex.Text)Then

MsgBox"请选择性别!

",vbOKOnly+vbExclamation,"警告"

comboSex.SetFocus

ExitSub

EndIf

IfNotTesttxt(txtBorndate.Text)Then

MsgBox"请输入出生日期!

",vbOKOnly+vbExclamation,"警告"

txtBorndate.SetFocus

ExitSub

EndIf

IfNotTesttxt(comboClassno.Text)Then

MsgBox"请选择班号!

",vbOKOnly+vbExclamation,"警告"

comboClassno.SetFocus

ExitSub

EndIf

IfNotTesttxt(txtTel.Text)Then

MsgBox"请输入联系电话!

",vbOKOnly+vbExclamation,"警告"

txtTel.SetFocus

ExitSub

EndIf

IfNotTesttxt(txtRudate.Text)Then

MsgBox"请输入入校日期!

",vbOKOnly+vbExclamation,"警告"

txtRudate.SetFocus

Exit

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1