VB+SQL教学管理毕业设计论文.docx
《VB+SQL教学管理毕业设计论文.docx》由会员分享,可在线阅读,更多相关《VB+SQL教学管理毕业设计论文.docx(27页珍藏版)》请在冰豆网上搜索。
VB+SQL教学管理毕业设计论文
计算机网络数据库设计
题目:
学生信息管理系统
学号xx
姓名xx
专业xxxx
日期2006年12月8日
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。
通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。
本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。
本系统主要包括学生信息查询、教务信息维护和学生选课三部分。
其功能主要有:
⒈有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。
⒉学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。
⒊学生信息的修改。
⒋班级管理信息的输入,包括输入班级设置、年级信息等。
⒌班级管理信息的查询。
⒍班级管理信息的修改。
⒎学生课程的设置和修改。
学生信息管理系统是为本校开发的,本系统所采用的语言是VisualBasic,用MicrosoftAccess2000数据库完成。
该系统总体有四部分组成,包括学生信息查询、教务信息维护、学生选课及用户管理。
通过本系统,把本校内部查询学生信息、教务信息、学生选课各个环节进行有效地计划、组织和控制。
通过本校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。
本系统主要信息流程为:
教务信息维护接受学生的信息,学生信息查询根据教务信息维护的学生信息做出对所接收的信息合理性进行判断,并交于信息维护进行相应的修改,再把信息存入数据库中。
学生选课是对学生进行相应选择自己相关的课程。
最后进行打印。
采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。
由于采用统一的数据信息,使相关资料能够快速地查询所需的数据、资料及其它信息的,使信息快速高效运行。
本系统中使用到的数据表主要有班级表、成绩表、缴费表、课程表、学生档案、用户资料,由这六个表,组成了名为信息的数据库(如图一)。
其中学生档案是本系统主要的
(图一)
一张表,所有信息都是根据这张学生档案进行有关的操作,主要的字段有:
学号、姓名、年级、专业、性别、出生年月、民族、籍贯、政治面貌、家庭地址、邮政编码、联系电话、入学时间、备注。
其中日期的数据类型为日期/时间天型,其它的数据类型为文本型;成绩表中字段为:
学号、姓名、年级、专业、学期、考试时间、考试科目、考试地点、课程性质、科目分数、违纪类型、备注;课程表中字段为:
专业、年级、学期、课程名称、教材、任课老师、课时、上课地点、课程性质、考试性质;用户资料中的字段包括:
用户名、密码、身份。
数据库与VB的连接:
本系统的数据链接采用的是ADO方法,打开控制面板,打开ODBC数据源图标,选择“系统DSN”标签,点击“添加”按钮,在弹出的“创建新数据源”对话框中选择名称为“MicrosoftAccessDrive(*.mdb)”,点击“完成”按钮,在ODBCMicrosoftAccess安装对话框中在数据源名中输入信息,在数据库这个框中,单击“选择”按钮,在弹出的选择数据库这一对话框架中,在驱动器下拉列表框中选择本系统数据库所在驱动器,在目录中选择库所在的文件夹,在文件类型中选择选“Access数据库(*.mdb)”,在数据库名中选择本系统的数据库,点击“确定”按钮即完成数据链接。
在VB中,用ADODC链接数据库,用DataGrid或DATA将库中的数据在界面中显示出来,本系统采用DataGrid。
在界面上右击Adodc控制,在弹出的快捷菜单中选择属性,在属性对话框中,在“属性”这一标签中,选中单选框“UseODBCDataSourceName”,并在下拉文本框中选择已经配置好的数据源名信息,再在“RecordSoure”标签中,在CommardText(SQL)文本框中输入查询语句,如:
select*from学生档案。
同时,将桌面的DataGrid控件选中,在属性框中,将它的Datasoure设为Adodc。
我们可以设置DataGrid控件的外观:
选中该控件,右击,在弹出的快捷菜单中选择“检索字段”,在弹出的对话框中单击“确定”,这时,表格中出现了表的字段。
然后再右击,同样,在弹出的快捷菜单中选择“编辑”,我们就可以所在的表格的宽度进行调整。
系统功能(查询模块)
1.查询信息的情况;
2.判断信息是否符合要求;
3.将符合条件的信息进行打印;
流程图
2.3数据库设计
2.3.1库设计
本系统涉及到的信息主要有5类:
学生信息、成绩信息、教师信息、图书信息、后备信息。
由于成绩信息和教师信息与学生信息关系密切,因此将这三类信息存放在同一数据库中,以提高多种信息同时读取的速度。
按以上分析,将系统的数据库设计为三个:
一、学生数据库:
该数据库为中包含有以下各表:
1、学生表:
记录学生的基本信息,是进行学生及其它各类信息处理的基础。
2、成绩表:
记录学生的期中、期末及总评的各科成绩。
3、总分表:
记录学生的期中、期末及总评的总分及名次。
4、课程表:
记录各专业各年级开课情况,在添加学生记录时,可根据该表的情况决定在成绩表添加学生记录的个数。
三、后备数据库:
该数据库主要保存两类信息:
学生信息、成绩信息。
其数据表是按用户的要求在运行过程中动态建立的。
2.3.2表设计:
1、学生表结构:
表2.1
编号
字段名称
字段类型
字段宽度
1
学号
CHAR
15
2
姓名
CHAR
10
3
性别
CHAR
2
4
出生日期
DATE
8
5
电话
CHAR
10
6
家庭住址
CHAR
50
7
班级
CHAR
20
8
原毕业学校
CHAR
50
9
是否住宿
CHAR
4
10
政治面貌
CHAR
6
11
入学总分
LONG
4
12
专业
char
20
2、课程表结构:
表2.2
编号
字段名称
字段类型
字段宽度
1
课程名称
CHAR
15
2
年级
CHAR
10
3
专业
char
20
3、成绩表结构:
表2.3
编号
字段名称
字段类型
字段宽度
1
学号
CHAR
15
2
课程名称
CHAR
15
3
期中成绩
LONG
4
4
期末成绩
LONG
4
5
总评成绩
LONG
4
6
班级
char
20
4、总分表结构:
表2.4
编号
字段名称
字段类型
字段宽度
1
学号
CHAR
15
2
期中总分
LONG
4
3
期末总分
LONG
4
4
期中名次
LONG
4
5
期末名次
LONG
4
6
班级
char
20
第五章详细设计
根据系统的主要功能及上一章的总体设计,系统开发进入第二个阶段:
详细设计。
在这一阶段的工作中,主要任务有以下几项:
1、根据原型化的开发原则,为系统的每个模块功能进行界面设计,作为进一步优化的基础。
2、进行系统的流程分析,为模块的细化做好准备。
3、对每个模块进行详细的算法设计。
3.1系统界面设计
一、登录及系统主窗口界面设计
该部分界面主要包括登录窗口、系统主窗口、修改密码窗口。
1、登录窗口界面:
本系统中使用到的数据表主要有班级表、成绩表、缴费表、课程表、学生档案、用户资料,由这六个表,组成了名为信息的数据库(如图一)。
其中学生档案是本系统主要的
(图一)
一张表,所有信息都是根据这张学生档案进行有关的操作,主要的字段有:
学号、姓名、年级、专业、性别、出生年月、民族、籍贯、政治面貌、家庭地址、邮政编码、联系电话、入学时间、备注。
其中日期的数据类型为日期/时间天型,其它的数据类型为文本型;成绩表中字段为:
学号、姓名、年级、专业、学期、考试时间、考试科目、考试地点、课程性质、科目分数、违纪类型、备注;课程表中字段为:
专业、年级、学期、课程名称、教材、任课老师、课时、上课地点、课程性质、考试性质;用户资料中的字段包括:
用户名、密码、身份。
数据库与VB的连接:
本系统的数据链接采用的是ADO方法,打开控制面板,打开ODBC数据源图标,选择“系统DSN”标签,点击“添加”按钮,在弹出的“创建新数据源”对话框中选择名称为“MicrosoftAccessDrive(*.mdb)”,点击“完成”按钮,在ODBCMicrosoftAccess安装对话框中在数据源名中输入信息,在数据库这个框中,单击“选择”按钮,在弹出的选择数据库这一对话框架中,在驱动器下拉列表框中选择本系统数据库所在驱动器,在目录中选择库所在的文件夹,在文件类型中选择选“Access数据库(*.mdb)”,在数据库名中选择本系统的数据库,点击“确定”按钮即完成数据链接。
在VB中,用ADODC链接数据库,用DataGrid或DATA将库中的数据在界面中显示出来,本系统采用DataGrid。
在界面上右击Adodc控制,在弹出的快捷菜单中选择属性,在属性对话框中,在“属性”这一标签中,选中单选框“UseODBCDataSourceName”,并在下拉文本框中选择已经配置好的数据源名信息,再在“RecordSoure”标签中,在CommardText(SQL)文本框中输入查询语句,如:
select*from学生档案。
同时,将桌面的DataGrid控件选中,在属性框中,将它的Datasoure设为Adodc。
我们可以设置DataGrid控件的外观:
选中该控件,右击,在弹出的快捷菜单中选择“检索字段”,在弹出的对话框中单击“确定”,这时,表格中出现了表的字段。
然后再右击,同样,在弹出的快捷菜单中选择“编辑”,我们就可以所在的表格的宽度进行调整。
各功能的实现
课程管理:
课程设置(如:
界面如图二)
(图二)
运行程序后,进入课程管理模块,课程管理模块的第一块是课程设置,在这模块中可以把专业、年级、学期、课程名称、教材、任课老师、课时、上课地点、课程性质和考试性质等信息输入,以便使用。
下面为其代码:
PrivateSubCommand1_Click()
DimmyConAsNewADODB.Connection
DimmyRsAsNewADODB.Recordset
DimZhuanYe,NianJi,XueQi,KeCheng,JiaoCai,RenKLS,KeShi,ShangKeDD,KeChengXZ,KaoShiXZAsString
ZhuanYe=Text1.Text
NianJi=Text2.Text
XueQi=DTPicker1.Value
KeCheng=Text4.Text
JiaoCai=Text5.Text
RenKLS=Text6.Text
KeShi=Text7.Text
ShangKeDD=Text8.Text
KeChengXZ=Combo1.Text
KaoShiXZ=Combo2.Text
IfTrim(ZhuanYe)=""OrTrim(NianJi)=""OrTrim(XueQi)=""OrTrim(KeCheng)=""OrTrim(JiaoCai)=""OrTrim(RenKLS)=""OrTrim(KeShi)=""OrTrim(ShangKeDD)=""OrTrim(KeChengXZ)=""OrTrim(KaoShiXZ)=""Then
MsgBox"请填写要修改课程资料的内容!
"
Combo1.Text=""
Combo2.Text=""
ExitSub
EndIf
myCon.Open"dsn=信息"
myRs.Open"select*from课程表where专业='"&Text1.Text&"'",myCon,3,2
myRs!
年级=Text2.Text
myRs!
学期=DTPicker1.Value
myRs!
课程名称=Text4.Text
myRs!
教材=Text5.Text
myRs!
任课老师=Text6.Text
myRs!
课时=Text7.Text
myRs!
上课地点=Text8.Text
myRs!
课程性质=Combo1.Text
myRs!
考试性质=Combo2.Text
myRs.Update
myRs.Close
myCon.Close
MsgBox"您确定要修改吗?
",vbYesNo,"提示"
Frm_UpdateGrean.Adodc1.Refresh
Frm_UpdateGrean.DataGrid1.Refresh
Text1.Text=""
Text2.Text=""
'Text3.Text=""
Text4.Text=""
Text5.Text=""
Text6.Text=""
Text7.Text=""
Text8.Text=""
Combo1.Text=""
Combo2.Text=""
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubCommand3_Click()
UnloadMe
Frm_FindGrean.Show1
EndSub
PrivateSubDataGrid1_Click()
'Frm_UpdateGrean.Adodc1.RecordSource="select*from课程表where专业='"&Trim(DataGrid1.Row)&"'"
'Text1.Text=Frm_UpdateGrean.Adodc1.Recordset.Fields("专业")
'Text2.Text=Frm_UpdateGrean.Adodc1.Recordset.Fields("年级")
'Text3.Text=Frm_UpdateGrean.Adodc1.Recordset.Fields("学期")
'Text4.Text=Frm_UpdateGrean.Adodc1.Recordset.Fields("课程名称")
'Text5.Text=Frm_UpdateGrean.Adodc1.Recordset.Fields("教材")
'Text6.Text=Frm_UpdateGrean.Adodc1.Recordset.Fields("任课老师")
'Text7.Text=Frm_UpdateGrean.Adodc1.Recordset.Fields("课时")
'Text8.Text=Frm_UpdateGrean.Adodc1.Recordset.Fields("上课地点")
'Combo1.Text=Frm_UpdateGrean.Adodc1.Recordset.Fields("课程性质")
'Combo2.Text=Frm_UpdateGrean.Adodc1.Recordset.Fields("考试性质")
EndSub
PrivateSubDTPicker1_CallbackKeyDown(ByValKeyCodeAsInteger,ByValShiftAsInteger,ByValCallbackFieldAsString,CallbackDateAsDate)
EndSub
PrivateSubForm_Activate()
Frm_FindGrean.Adodc1.RecordSource=strTiaoJian
Frm_FindGrean.Adodc1.Refresh
SetDataGrid1.DataSource=Frm_FindGrean.Adodc1
EndSub
PrivateSubForm_Load()
Combo1.AddItem("必修")
Combo1.AddItem("选修")
Combo1.AddItem("自开")
Combo2.AddItem("考试")
Combo2.AddItem("查考")
Text1.Text=""
Text2.Text=""
'Text3.Text=""
Text4.Text=""
Text5.Text=""
Text6.Text=""
Text7.Text=""
Text8.Text=""
Combo1.Text=""
Combo2.Text=""
EndSub
PrivateSubText1_Change()
EndSub
PrivateSubText2_Change()
EndSub
PrivateSubText8_Change()
EndSub
课程管理:
课程查询(如:
界面如图三)
(图三)
当输入查询类别、运算符和条件后可以查找到所需要的课程设置,或按查询时间来查询,输入所要查找的时间段,就可查到所要的课程设置。
代码如下:
DimsqlstrAsString
PrivateSubCombo1_Change()
EndSub
PrivateSubCombo2_Change()
EndSub
PrivateSubCombo4_Change()
EndSub
PrivateSubCombo5_Change()
EndSub
PrivateSubCombo7_Change()
EndSub
PrivateSubCommand1_Click()
DimaAsString
DimKCCX1AsString
DimKCCX2AsString
Dimstr1AsString
Dimstr2AsString
IfOption3.Value=TrueThen
a=Trim(Combo2)
SelectCasea
Case"="
KCCX1=""&Combo1.Text&""&Combo2.Text&"'"&Trim(Text1)&"'"
Case"like"
KCCX1="Instr(1,"&Combo1.Text&",'"&Trim(Text1.Text)&"')<>0"
EndSelect
a=Trim(Combo4)
SelectCasea
Case"="
KCCX2=""&Combo3.Text&""&Combo4.Text&"'"&Trim(Text2)&"'"
Case"like"
KCCX2="Instr(1,"&Combo3.Text&",'"&Trim(Text2.Text)&"')<>0"
EndSelect
IfOption1.Value=TrueThen
IfKCCX1=""Then
strTiaoJian="select*from课程表where"&KCCX2
ElseIfKCCX2=""Then
strTiaoJian="select*from课程表where"&KCCX1
Else
strTiaoJian="select*from课程表where"&KCCX1&"and"&KCCX2
EndIf
ElseIfOption2.Value=TrueThen
IfKCCX1=""Then
strTiaoJian="select*from课程表where"&KCCX2
ElseIfKCCX2=""Then
strTiaoJian="select*from课程表where"&KCCX1
Else
strTiaoJian="select*from课程表where"&KCCX1&"or"&KCCX2
EndIf
Else
IfKCCX1=""Then
strTiaoJian="select*from课程表where"&KCCX2
ElseIfKCCX2=""Then
strTiaoJian="select*from课程表where"&KCCX1
Else
MsgBox"请选择连接方式!
",vbOKOnly,"警告"
ExitSub
EndIf
EndIf
If(KCCX1&KCCX2)=""Then
MsgBox"请输入查询类别!
",vbOKOnly,"警告"
ExitSub
Else
UnloadMe
Frm_UpdateGrean.Show1
EndIf
EndIf
IfOption4.Value=TrueThen
IfVal(Combo6)>Val(Combo9)Then
MsgBox"请正确选择年份!
",vbOKOnly+vbExclamation,"信息提示"
Combo6.SetFocus
ExitSub
Else
IfVal(Combo6)=Val(Combo9)Then
IfVal(Combo7)>Val(Combo10)Then
MsgBox"请正确选择月份!
",vbOKOnly+vbExclamation,"信息提示"
Combo7.SetFocus
ExitSub
Else
IfVal(Combo7)=Val(Combo10)Then
IfVal(Combo8)>Val(Combo11)Then
MsgBox"请正确选择日期!
",vbOKOnly+vbExclamation,"信息提示"
Combo8.SetFocus
ExitSub
EndIf
EndIf
EndIf
EndIf
EndIf
IfCombo6.Text=""OrCombo7.Text=""OrCombo8.Text=""Or