版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐SQL数据库课程设计学生成绩系统SQL数据库课程设计
同学成果管理系统设计
(本设计以VB为前台对数据库举行操作)
1.需求
本系统主要用于小学的同学成果管理。
1.用户身份的验证
2.同学基本信息管理
3.按班级选课
4.同学成果的管理
2.总体设计
本系统包括:标准模块、系统登录模块、主界面模块、系统管理模块、同学基本信息管理模块、选课模块、成果管理模块。
1.标准模块
定义公共变量和过程。
2.系统登录模块
举行用户身份的验证。
3.主界面模块
作为系统总界面,供用户举行各项挑选。
4.系统管理模块
用户管理及系统退出。
5.同学基本信息管理模块
同学基本信息的录入和查询。
6.选课模块
为班级选课。
7.成果管理模块
举行同学成果的录入及查询。
3.数据库设计及配置
3.1.数据库设计
该数据库由以下几个表组成:
用户表、同学基本信息表、班级课程表、同学成果表。
3.1.1用户表
3.1.2同学基本信息表
包括学号、姓名、电话、地址、班级名称、性别。
3.1.3班级课程表
3.1.4同学成果表
3.2.数据库中各表关系
同学基本信息表与班级课程表通过班级名称字段相关联,同学基本信息表与同学成果表通过学号字段相关联,班级课程表与同学成果表通过课程名称字段相关联。
4.系统实现
4.1.标准模块(公有模块)
4.1.1标准模块中的数据定义
4.1.2标准模块代码设计
OptionExplicit
PublicUserNameAsString
PublicUserTypeAsBoolean
4.2.系统登录模块
4.2.1说明
举行用户身份的验证。特定的用户才干登录到系统。
4.2.2窗体设计
系统登录窗体的窗体类型为Form,界面如下图所示:
4.2.3代码设计
●公共定义
OptionExplicit
DimCount1AsInteger
●窗体装载处理程序(Load)
PrivateSubForm_Load()
Count1=0‘错误次数清零EndSub
●取消按钮(cmdCancel)处理程序(Click)
PrivateSubcmdCancel_Click()
UnloadMe‘系统退出
EndSub
确定按钮(cmdOk)处理程序(Click)
PrivateSubcmdOk_Click()
Dims1AsString
DimPasswordAsString
OnErrorResumeNext
IfText1.Text=""Then‘用户名为空,则退出
MsgBox("用户名不能为空,请重新输入")
Text1.SetFocus
ExitSub
EndIf
‘按输入的用户名举行查询
s1="SELECT*from用户表WHERE用户名='"&Text1.Text&"'"
Adodc1.RecordSource=s1
Adodc1.Refresh
IfAdodc1.Recordset.EOF=FalseThen‘推断查询结果
UserName=Adodc1.Recordset.Fields(0)‘有该用户名,即用户名正确Password=Adodc1.Recordset.Fields(1)
UserType=Adodc1.Recordset.Fields(2)
IfPassword=Text2.TextThen‘推断密码是否正确
UnloadMe‘密码正确,关闭当前窗体
FrmMain.Show‘显示主界面窗体
ExitSub
Else
MsgBox("密码错误,请重新输入")‘密码错误,提醒
Text2.SetFocus
Text2.Text=""
EndIf
Else‘没有该用户名,即用户名错误MsgBox"用户名错误,请重新输入"
Text1.SetFocus
Text1.Text=""
Text2.Text=""
EndIf
Count1=Count1+1‘错误次数累计
IfCount1>=3Then
MsgBox"错误超过3次,系统退出"
UnloadMe
EndIf
EndSub
4.3.主界面模块
4.3.1说明
作为系统总界面,供用户举行各项挑选。
4.3.2窗体设计
主界面模块窗体类型为MDIForm,界面如下图所示。
4.3.3代码设计
●窗体变为活动窗体处理程序(MDIForm-Activate)
PrivateSubMDIForm_Activate()
WindowState=2‘窗体最大化状态
StatusBar1.Panels(1).Text="用户名:"&UserName‘在状态栏显示用户名、用户类型IfUserType=TrueThen
StatusBar1.Panels(2).Text="用户类型:管理员"
Else
StatusBar1.Panels(2).Text="用户类型:一般用户"
EndIf
IfUserType=FalseThen‘对一般用户设某些菜单项不行用AA1.Enabled=False
BB1.Enabled=False
CC.Enabled=False
DD1.Enabled=False
Toolbar1.Buttons(1).Enabled=False‘对一般用户设工具栏的某些按钮不行用Toolbar1.Buttons(3).Enabled=False
Toolbar1.Buttons(6).Enabled=False
Toolbar1.Buttons(7).Enabled=False
Toolbar1.Buttons(9).Enabled=False
EndIf
EndSub
●定时器(Timer1)处理程序(Timer)
PrivateSubTimer1_Timer()
StatusBar1.Panels(3).Text=Now‘在状态栏中显示当前时光EndSub
●工具栏(Toolbar1)处理程序(ButtonClick)
PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)
SelectCaseButton.Index
Case1
Form11.Show(1)‘用户管理
Case3
Form21.Show(1)‘同学基本信息维护
Case4
Form22.Show(1)‘同学基本信息查询
Case6
Form31.Show(1)‘课程添加
Case7
Form32.Show(1)‘课程删除
Case9
Form41.Show(1)‘同学成果维护
Case10
Form42.Show(1)‘同学成果查询Case12
UnloadMe‘系统退出
EndSelect
EndSub
●“用户管理”菜单项处理程序(AA1-Click)
PrivateSubAA1_Click()
Form11.Show(1)
EndSub
●“退出”菜单项处理程序(AA3-click)
PrivateSubAA3_Click()
UnloadMe
EndSub
●“同学基本信息维护”菜单项处理程序(BB1-click)
PrivateSubBB1_Click()
Form21.Show(1)
EndSub
●“同学基本信息查询”菜单项处理程序(BB2-click)
PrivateSubBB2_Click()
Form22.Show(1)
EndSub
●“课程添加”菜单项处理程序(CC1-click)
PrivateSubCC1_Click()
Form31.Show(1)
EndSub
●“课程删除”菜单项处理程序(CC2-click)
PrivateSubCC2_Click()
Form32.Show(1)
EndSub
●“同学成果维护”菜单项处理程序(DD1-click)
PrivateSubDD1_Click()
Form41.Show(1)
EndSub
●“同学成果查询”菜单项处理程序(DD2-click)
PrivateSubDD2_Click()
Form42.Show(1)
EndSub
4.4.用户管理模块
4.4.1说明
创建、删除用户。设定用户权限。
4.4.2窗体设计
4.4.3代码设计
●上一条(Command1)处理(Click)PrivateSubCommand1_Click()
Command2.Enabled=True
Adodc1.Recordset.MovePrevious
IfAdodc1.Recordset.BOFThen
Command1.Enabled=False
Adodc1.Recordset.MoveFirst
EndIf
EndSub
●下一条(Command2)处理(Click)PrivateSubCommand2_Click()
Command1.Enabled=True
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThen
Command2.Enabled=False
Adodc1.Recordset.MoveLast
EndIf
EndSub
●添加(Command3)处理(Click)
PrivateSubCommand3_Click()
IfCommand3.Caption="添加"ThenCommand3.Caption="确定"
Command1.Enabled=False
Command2.Enabled=False
Command4.Enabled=False
Adodc1.Recordset.AddNew
Text1.SetFocus
Else
IfText1.Text=""Then
MsgBox("用户名不能为空")
ExitSub
EndIf
Command3.Caption="添加"
Adodc1.Recordset.Update
Command1.Enabled=True
Command2.Enabled=True
Command4.Enabled=True
EndIf
EndSub
●删除(Command4)处理(Click)
PrivateSubCommand4_Click()
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThen
Adodc1.Recordset.MoveLast
EndIf
EndSub
●退出(Command5)处理(Click)
PrivateSubCommand5_Click()
UnloadMe
EndSub
4.5.同学基本信息管理模块
4.5.1说明
同学基本信息的添加、删除、查询。
该模块有两个窗体:同学基本信息维护窗体和同学基本信息查询窗体
4.5.2.1.窗体设计
4.5.2.2.代码设计
●窗体装载处理程序(Load)
PrivateSubForm_Load()
DataGrid1.AllowAddNew=TrueDataGrid1.AllowDelete=TrueDataGrid1.AllowUpdate=TrueEndSub
●退出(Command1)处理(Click)PrivateSubCommand1_Click()
UnloadMe
EndSub
4.5.3.1.窗体设计
4.5.3.2.代码设计
●查询(Command1)处理(Click)
PrivateSubCommand1_Click()
Dims1AsString
s1=""
IfCheck1.Value=1Then
IfText1.Text""Then
s1=s1&"姓名='"&Text1.Text&"'"
EndIf
EndIf
IfCheck2.Value=1Then
IfText2.Text""Then
Ifs1""Then
s1=s1&"and"
EndIf
s1=s1&"学号='"&Text2.Text&"'"
EndIf
EndIf
IfCheck3.Value=1Then
IfDataList1.Text""Then
Ifs1""Then
s1=s1&"and"
EndIf
s1=s1&"班级名称='"&DataList1.Text&"'"
EndIf
EndIf
Ifs1""Then
s1="where"&s1
EndIf
Adodc1.RecordSource="select*from同学基本信息表"&s1Adodc1.Refresh
SetDataGrid1.DataSource=Adodc1
EndSub
●退出(Command2)处理(Click)
PrivateSubCommand2_Click()
UnloadMe
EndSub
●窗体装载处理程序(Load)
PrivateSubForm_Load()
DataGrid1.AllowAddNew=False
DataGrid1.AllowDelete=FalseDataGrid1.AllowUpdate=FalseEndSub
4.6.选课模块
4.6.1说明
该模块为一个班级选课。
4.6.2课程添加窗体
用于课程的添加和查询
4.6.2.1.窗体设计
4.6.2.2.代码设计
●添加(Command1)处理(Click)
PrivateSubCommand1_Click()
Dims1AsString,s2AsString
OnErrorResumeNext
IfText1.Text=""OrText2.Text=""Then
MsgBox("输入不能为空")
ExitSub
EndIf
s1="select*from班级课程表where班级名称='"
s2=Text1.Text&"'and课程名称='"&Text2.Text&"'"
Adodc1.RecordSource=s1&s2
Adodc1.Refresh
IfAdodc1.Recordset.EOF=FalseThen
Text1.SetFocus
MsgBox"该记录已存在,请重新输入",,"警告"
ExitSub
EndIf
s1="select*from班级课程表"
Adodc1.RecordSource=s1
Adodc1.Refresh
Adodc1.Recordset.MoveLast
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("班级名称")=Text1.Text
Adodc1.Recordset.Fields("课程名称")=Text2.Text
Adodc1.Recordset.Update
Adodc1.Refresh
s1="select课程名称from班级课程表where班级名称='"&Text1.Text&"'"Adodc1.RecordSource=s1
Adodc1.Refresh
SetDataGrid1.DataSource=Adodc1.Recordset
Text2.SetFocus
Text2.Text=""
ExitSub
EndSub
●查询(Command2)处理(Click)
PrivateSubCommand2_Click()
Dims1AsString
s1="select课程名称from班级课程表where班级名称='"&Text1.Text&"'"
Adodc1.RecordSource=s1
Adodc1.Refresh
SetDataGrid1.DataSource=Adodc1.RecordsetEndSub
●退出(Command3)处理(Click)
PrivateSubCommand3_Click()
UnloadMe
EndSub
●窗体装载处理程序(Load)
PrivateSubForm_Load()
DataGrid1.AllowAddNew=False
DataGrid1.AllowDelete=False
DataGrid1.AllowUpdate=False
EndSub
4.6.3课程删除窗体
4.6.3.1.窗体设计
4.6.3.2.代码设计
●退出(Command1)处理(Click)
PrivateSubCommand1_Click()
UnloadMe
EndSub
●数据列表框(DataList1)处理(Click)
PrivateSubDataList1_Click()
Dims1AsString
s1="select*from班级课程表where班级名称='"&DataList1.Text&"'"Adodc2.RecordSource=s1
Adodc2.Refresh
SetDataGrid1.DataSource=Adodc2
EndSub
●窗体装载处理程序(Load)
PrivateSubForm_Load()
DataGrid1.AllowDelete=True
DataGrid1.AllowUpdate=True
DataGrid1.AllowAddNew=False
EndSub
4.7.成果管理模块
4.7.1说明
举行同学成果的录入及查询。
4.7.2成果录入窗体
举行同学成果的添加、修改及删除。
4.7.2.1.窗体设计
4.7.2.2.代码设计
录入(Command1)处理(Click)
PrivateSubCommand1_Click()
Dims1AsString,s2AsString,s3AsString
OnErrorResumeNext
s1="select*from同学成果表"
s2="where学号='"&List2.Text&"'and"
s3="课程名称='"&List1.Text&"'"
Adodc3.RecordSource=s1&s2&s3
Adodc3.Refresh
IfAdodc3.Recordset.EOF=FalseThen
Adodc3.Recordset.Fields(2)=Val(Text1.Text)
Else
Adodc3.Recordset.MoveLast
Adodc3.Recordset.AddNew
Adodc3.Recordset.Fields(0)=List2.Text
Adodc3.Recordset.Fields(1)=List1.Text
Adodc3.Recordset.Fields(2)=Val(Text1.Text)
EndIf
Adodc3.Recordset.Update
Adodc3.Refresh
s1="select学号,成果from同学成果表where课程名称='"&List1.Text&"'"s2="and学号in(select学号from同学基本信息表"
s3="where班级名称='"&DataList1.Text&"')"Adodc3.RecordSource=s1&s2&s3
Adodc3.Refresh
SetDataGrid1.DataSource=Adodc3
EndSub
●退出(Command1)处理(Click)
PrivateSubCommand2_Click()
UnloadMe
EndSub
●数据列表框(DataList1)处理(Click)
PrivateSubDataList1_Click()
Dims1AsString,s2AsString
SetDataGrid1.DataSource=Nothing
s1="select课程名称from班级课程表"
s2="where班级名称='"&DataList1.Text&"'"
Adodc2.RecordSource=s1&s2
Adodc2.Refresh
IfAdodc2.Recordset.EOF=TrueThen
MsgBox"请在班级课程表里添加该班级的课程名称"ExitSub
EndIf
List1.Clear
Adodc2.Recordset.MoveFirst
DoWhileAdodc2.Recordset.EOF=False
List1.AddItemAdodc2.Recordset.Fields(0)
Adodc2.Recordset.MoveNext
Loop
s1="select学号from同学基本信息表"
s2="where班级名称='"&DataList1.Text&"'"
Adodc2.RecordSource=s1&s2
Adodc2.Refresh
IfAdodc2.Recordset.EOF=TrueThen
MsgBox"请在同学信息表里添加该班级"
ExitSub
EndIf
List2.Clear
Adodc2.Recordset.MoveFirst
DoWhileAdodc2.Recordset.EOF=False
List2.AddItemAdodc2.Recordset.Fields(0)
Adodc2.Recordset.MoveNext
Loop
EndSub
●窗体装载处理程序(Load)
PrivateSubForm_Load()
DataGrid1.AllowDelete=True
DataGrid1.AllowAddNew=False
DataGrid1.AllowUpdate=False
EndSub
●列表框(List1)处理(Click)
PrivateSubList1_Click()
Dims1AsString,s2AsString,s3AsString
s1="select学号,成果from同学成果表where课程名称='"&List1.Text&"'"s2="and学号in(select学号from同学基本信息表"
s3="where班级名称='"&DataList1.Text&"')"
Adodc3.RecordSource=s1&s2&s3
Adodc3.Refresh
SetDataGrid1.DataSource=Adodc3
EndSub
●列表框(List2)处理(Click)
PrivateSubList2_Click()
Text1.Text=""
EndSub
4.7.3成果查询窗体
举行同学成果的查询
4.7.3.1.窗体设计
4.7.3.2.代码设计
●公共定义
OptionExplicit
DimoptAsInteger
●组合框(Combo1)处理(Click)PrivateSubCombo1_Click()
Dims1AsString,s2AsString
SetDataGrid1.DataSource=Nothing
Combo2.Clear
Ifopt=0Then
s1="select课程名称from班级课程表where班级名称='"
s2=Combo1.Text&"'groupby课程名称"
Adodc2.RecordSource=s1&s2
Else
s1="select学号from同学基本信息表where班级名称='"
s2=Combo1.Text&"'"
Adodc2.RecordSource=s1&s2
EndIf
Adodc2.Refresh
DoWhileAdodc2.Recordset.EOF=False
Combo2.AddItemAdodc2.Recordset.Fields(0)
Adodc2.Recordset.MoveNext
Loop
EndSub
●组合框(Combo2)处理(Click)
PrivateSubCombo2_Click()
Dims1AsString,s2AsString,s3AsString
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度环保型钢管扣件运输与回收利用协议3篇
- 二零二五版电子元件采购合同数量取消及供应链调整补充协议3篇
- 2024建造师劳动合同
- 2025年度民族特色餐厅租赁及文化传承合作协议3篇
- 二零二五年房地产纠纷调解估价委托合同模板3篇
- 2024年项目联合开发协议3篇
- 二零二五年度高品质建筑材料租赁与运输管理合同3篇
- 二零二五版商用空调租赁与能源消耗优化合同3篇
- 威海职业学院《突发公卫事件应急处理》2023-2024学年第一学期期末试卷
- 天津城市职业学院《灾害防御与避险应急》2023-2024学年第一学期期末试卷
- DB22T 5005-2018 注塑夹芯复合保温砌块自保温墙体工程技术标准
- 医院手术室医院感染管理质量督查评分表
- 心内电生理导管及器械
- 称量与天平培训试题及答案
- 超全的超滤与纳滤概述、基本理论和应用
- 2020年医师定期考核试题与答案(公卫专业)
- 2022年中国育龄女性生殖健康研究报告
- 各种静脉置管固定方法
- 消防报审验收程序及表格
- 教育金规划ppt课件
- 呼吸机波形分析及临床应用
评论
0/150
提交评论