VB+SQL教学管理毕业设计论文Word下载.docx
《VB+SQL教学管理毕业设计论文Word下载.docx》由会员分享,可在线阅读,更多相关《VB+SQL教学管理毕业设计论文Word下载.docx(27页珍藏版)》请在冰豆网上搜索。
其中学生档案是本系统主要的
(图一)
一张表,所有信息都是根据这张学生档案进行有关的操作,主要的字段有:
学号、姓名、年级、专业、性别、出生年月、民族、籍贯、政治面貌、家庭地址、邮政编码、联系电话、入学时间、备注。
其中日期的数据类型为日期/时间天型,其它的数据类型为文本型;
成绩表中字段为:
学号、姓名、年级、专业、学期、考试时间、考试科目、考试地点、课程性质、科目分数、违纪类型、备注;
课程表中字段为:
专业、年级、学期、课程名称、教材、任课老师、课时、上课地点、课程性质、考试性质;
用户资料中的字段包括:
用户名、密码、身份。
数据库与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
姓名
10
3
性别
4
出生日期
DATE
8
5
电话
6
家庭住址
50
7
班级
20
原毕业学校
9
是否住宿
政治面貌
11
入学总分
LONG
12
专业
char
2、课程表结构:
表2.2
课程名称
年级
3、成绩表结构:
表2.3
期中成绩
期末成绩
总评成绩
4、总分表结构:
表2.4
期中总分
期末总分
期中名次
期末名次
第五章详细设计
根据系统的主要功能及上一章的总体设计,系统开发进入第二个阶段:
详细设计。
在这一阶段的工作中,主要任务有以下几项:
1、根据原型化的开发原则,为系统的每个模块功能进行界面设计,作为进一步优化的基础。
2、进行系统的流程分析,为模块的细化做好准备。
3、对每个模块进行详细的算法设计。
3.1系统界面设计
一、登录及系统主窗口界面设计
该部分界面主要包括登录窗口、系统主窗口、修改密码窗口。
1、登录窗口界面:
各功能的实现
课程管理:
课程设置(如:
界面如图二)
(图二)
运行程序后,进入课程管理模块,课程管理模块的第一块是课程设置,在这模块中可以把专业、年级、学期、课程名称、教材、任课老师、课时、上课地点、课程性质和考试性质等信息输入,以便使用。
下面为其代码:
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
学期=DTPicker1.Value
课程名称=Text4.Text
教材=Text5.Text
任课老师=Text6.Text
课时=Text7.Text
上课地点=Text8.Text
课程性质=Combo1.Text
考试性质=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
PrivateSubCommand3_Click()
Frm_FindGrean.Show1
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("
考试性质"
PrivateSubDTPicker1_CallbackKeyDown(ByValKeyCodeAsInteger,ByValShiftAsInteger,ByValCallbackFieldAsString,CallbackDateAsDate)
PrivateSubForm_Activate()
Frm_FindGrean.Adodc1.RecordSource=strTiaoJian
Frm_FindGrean.Adodc1.Refresh
SetDataGrid1.DataSource=Frm_FindGrean.Adodc1
PrivateSubForm_Load()
Combo1.AddItem("
必修"
选修"
自开"
Combo2.AddItem("
考试"
查考"
PrivateSubText1_Change()
PrivateSubText2_Change()
PrivateSubText8_Change()
课程查询(如:
界面如图三)
(图三)
当输入查询类别、运算符和条件后可以查找到所需要的课程设置,或按查询时间来查询,输入所要查找的时间段,就可查到所要的课程设置。
代码如下:
DimsqlstrAsString
PrivateSubCombo1_Change()
PrivateSubCombo2_Change()
PrivateSubCombo4_Change()
PrivateSubCombo5_Change()
PrivateSubCombo7_Change()
DimaAsString
DimKCCX1AsString
DimKCCX2AsString
Dimstr1AsString
Dimstr2AsString
IfOption3.Value=TrueThen
a=Trim(Combo2)
SelectCasea
Case"
="
KCCX1="
Combo1.Text&
Combo2.Text&
'
Trim(Text1)&
like"
Instr(1,"
'
Trim(Text1.Text)&
)<
>
0"
EndSelect
a=Trim(Combo4)
KCCX2="
Combo3.Text&
Combo4.Text&
Trim(Text2)&
Trim(Text2.Text)&
IfOption1.Value=TrueThen
IfKCCX1="
strTiaoJian="
select*from课程表where"
KCCX2
ElseIfKCCX2="
KCCX1
Else
KCCX1&
and"
EndIf
ElseIfOption2.Value=TrueThen
or"
Else
请选择连接方式!
vbOKOnly,"
警告"
If(KCCX1&
KCCX2)="
请输入查询类别!
ExitSub
Frm_UpdateGrean.Show1
IfOption4.Value=TrueThen
IfVal(Combo6)>
Val(Combo9)Then
请正确选择年份!
vbOKOnly+vbExclamation,"
信息提示"
Combo6.SetFocus
IfVal(Combo6)=Val(Combo9)Then
IfVal(Combo7)>
Val(Combo10)Then
请正确选择月份!
Combo7.SetFocus
IfVal(Combo7)=Val(Combo10)Then
IfVal(Combo8)>
Val(Combo11)Then
请正确选择日期!
Combo8.SetFocus
IfCombo6.Text="
OrCombo7.Text="
OrCombo8.Text="
Or