资源描述
数据库技术与应用
实验报告
实验题目:
毕业设计选题系统
姓 名:
学 号:
班 级:
联系方式:
2023年12月
目录
一、设计目的
二、设计规定
三、设计过程
1.数据库的设计
1)实体联系模型图(E-R图)
2)E-R图转化的关系表
2.系统功能模块,功能描述和重要VB程序代码
1)系统功能模块
2)功能描述
3)重要VB程序代码
㈠登录验证代码。
㈡信息查询等代码。
㈢存储信息等代码。
3.程序运营展示
四、心得体会与总结
一、设计目的
目前,随着计算机和网络技术的不断发展,各高校相继建成了自己的校园网,并充足运用校园网提供的新环境,为学校的教学、教研和教务管理所服务。因此,毕业设计选题系统已经成为了教学教务管理系统的重要部分。当前毕业设计选题系统允许学生在一定的范围内选择合适自己的毕业设计题目,
具有很大的灵活性,使学生不需要在固定的时间,固定的地点选题,避免了很大的麻烦。
二、设计规定
教师和学生进行双向选择,即学生可选择相应的毕业设计题目,教师也可选择学生
1)教师:
l 教师可以增长毕业设计题目,人数,及规定。
l 教师可录取报名的学生,查看学生的具体信息如学生的基本信息,成绩等内容。
l 先录取填报自己的题目作为第一选题志愿的学生,再录取第二志愿的学生。
l 针对不同的用户,可进行相关的记录、查询可查看报自己的学生人数,基本信息等。
2) 学生:
l 可浏览教师的毕业设计题目及教师的简介等内容。
l 可修改自己的个人信息(基本信息)。
l 可以报毕业设计题目,每人限报两个,第一选题志愿和第二选题志愿。
3) 管理员
l 可对每个教师、学生进行记录分析与维护。
三、设计过程
1.数据库的设计
类型
1)实体联系模型图(E-R图):
密码
用户名
课题名称
课题编号
老师编号
老师姓名
课题
选题
学院
专业
学号
电话
简介
性别
成绩
姓名
学生
用户
M
1
课题介绍
编号
课题名称
人数
学生
录取
姓名
电话
性别
简介
老师
1
N
2)E-R图转化的关系表(只列出了几个重要表)
表一(st_info)
字段名称
数据类型
是否主键
St_id
Char(10)
是
St_name
Varchar(20)
否
St_sex
Char(4)
否
St_college
Varchar(20)
否
St_num
Varchar(15)
否
St_comment
Varchar(200)
否
St_score
float
否
表二(t_info)
字段名称
数据类型
是否主键
t_id
Char(10)
是
t_name
Varchar(16)
否
t_sex
Char(4)
否
t_num
Varchar(20)
否
t_commment
Varchar(200)
否
表三(xuanti)
字段名称
数据类型
是否主键
St_id
Char(10)
是
St_name
Varchar(20)
是
St_sex
Char(4)
否
Work_num
Varchar(20)
否
Work_name
Varchar(20)
否
T_id
char(10)
否
renshu
Varchar(100)
否
表四(Users)
字段名称
数据类型
是否主键
UserName
Varchar(20)
否
Password
Varchar(20)
否
leixing
Varchar(10
否
2.系统功能模块,功能描述和重要VB程序代码
教师
学生
管理员
毕业设计选题系统
1)系统功能模块
①查看修改自己信息
②查看老师信息
③浏览题目
④选择课题
①老师课题记录
②学生选题记录
③维护
①学生信息查看及录取
②发布课题
2)功能描述
管理员:
①老师课题记录:查看老师发布的课题及课题书;
②学生选题记录 :查看并记录学生选题的数目与编号;
③维护:维护系统。
教师:
①学生信息查看及录取:来查看和录取已经选了自己的学生;
②发布课题:发布课题让学生选择。
学生
①查看修改自己信息:查看自己的信息,若有错误可进行修改;
②查看老师信息:查看老师的信息;
③浏览题目:浏览老师所发布的题目;
④选择课题:选择自己喜欢的课题。
3)重要VB程序代码
㈠登录验证代码。
Private Sub cmdOk_Click()
If txtUserName.Text = "" Then
MsgBox "用户名不能为空,请输入用户名!", vbCritical, "提醒"
Else
adoUser.RecordSource = "select * from users where username='" & Trim(txtUserName) & "'"
adoUser.Refresh
If adoUser.Recordset.EOF Then
txtUserName.Text = ""
txtPwd.Text = ""
txtUserName.SetFocus
MsgBox "用户名输入错误,请选择!", vbCritical, "提醒
Else
If txtPwd.Text = "" Then
MsgBox "密码不能为空,请输入密码!", vbCritical, "提醒"
txtPwd.Text = ""
txtPwd.SetFocus
ElseIf adoUser.Recordset.Fields("Password") = txtPwd.Text Then
Select Case adoUser.Recordset.Fields("leixing")
Case 0
If Combo1.Text = "管理员" Then
MsgBox "管理员已成功登录!", vbExclamation, "提醒"
manage_system.Show
Me.Hide
Else
MsgBox "您没有此权限!", vbOKOnly + vbCritical, "提醒"
End If
Case 1
If Combo1.Text = "教师" Then
MsgBox "教师已成功登录!", vbExclamation, "提醒"
t_system.Show
Me.Hide
Else
MsgBox "您没有此权限!", vbOKOnly + vbCritical, "提醒"
End If
Case 2
If Combo1.Text = "学生" Then
MsgBox "学生已成功登录!", vbExclamation, "提醒"
st_system.Show
Me.Hide
Else
MsgBox "您没有此权限!", vbOKOnly + vbCritical, "提醒"
End If
End Select
Else
MsgBox ("密码输入错误,请重新输入!"), vbCritical, "提醒"
txtPwd.Text = ""
txtPwd.SetFocus
End If
End If
End If
End Sub
㈡信息查询等代码
strName = frmLogin.txtUserName.Text
Adodc1.RecordSource = "select * from st_info where st_id='" & Trim(strName) & " '"
Adodc1.Refresh
sqlStr = "select * from xuanti where t_id='" _
& Trim(frmLogin.txtUserName.Text) & "'"
Adodc1.RecordSource = sqlStr
Adodc1.Refresh
With Adodc1.Recordset
If Not .EOF Then
Text1(7).Text = .Fields("work_name")
Else
MsgBox "没有找到相关信息,请添加!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
End With
a = Adodc1.Recordset.Fields("st_id")
Adodc2.RecordSource = "select * from st_info where st_id='" _
& Trim(a) & "'"
Adodc2.Refresh
With Adodc2.Recordset
If Not .EOF Then
Text1(0).Text = .Fields("st_name")
Text1(1).Text = .Fields("st_college")
Text1(2).Text = .Fields("st_sex")
Text1(3).Text = .Fields("st_specially")
Text1(4).Text = .Fields("st_num")
Text1(5).Text = .Fields("st_comment")
Text1(6).Text = .Fields("st_score")
Else
MsgBox "没有找到相关信息,请添加!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
End With
㈢存储信息等代码
Dim i As Integer
For i = 0 To 4
If Text3(i).Text = "" Then
MsgBox "请将信息填写完整", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
Next i
sqlStr = "select * from work_info"
Adodc1.RecordSource = sqlStr
Adodc1.Refresh
With Adodc1.Recordset
.AddNew
.Fields("t_name") = Text3(0).Text
.Fields("t_id") = Text3(4).Text
.Fields("work_content") = Text3(3).Text
.Fields("work_num") = Text3(2).Text
.Fields("work_name") = Text3(1).Text
.Update
End With
MsgBox "课题信息添加完毕!", vbOKOnly + vbExclamation, "警告"
clearTextBox
3.程序运营展示。
一方面开始运营程序,用户通过自己选定的权限:管理员、老师和学生,输入自己的账号密码来进入不同的操作界面,如下图。
进入学生系统 ,学生可以进行以下下操作:1.学生自己信息查看与修改
2.查看所有老师的信息
3.查看课题信息
4.选择课题
老师权限系统:1.录取学生和查看学生信息
2.发布课题
管理员管理系统:1.老师发布课题记录
2.学生选题记录
3.维护系统
四、心得体会与总结
不知不觉几个星期过去了,我制作的毕业设计选题系统也大功告成,虽然我做的这个毕业设计选题系统相对于我们真正在实际生活中使用的系统尚有很大的差距,但是通过对VB与数据库设计书籍的翻阅和学习雷琪老师课上专家的东西,我学习到了许多关于VB程序和制作数据库的知识。为了制作好这个毕业设计管理系统,我还了解了一些如何去连接数据库的VB技术。通过学习,我对数据库和VB有了更深层次得到了解,也有了更浓厚的爱好。特别是对如何设计一个管理系统的过程与一些技巧手法更有了此外一番了解,对数据库和VB的基础知识也有了一定的掌握。在这个过程中,我同样结识到数据库不只是一门基本的学科,而是多种课程的综合,它是一门能融合多学科的综合应用。
我刚开始做这个毕业设计管理系统的时候,我无从下手。但是,我发现当我在不断地实践中,许许多多的失败中,我通过对书籍和网络上知识的汲取,使得我有了如何做好VB程序的意识。的确,万事开头难,正是我有了如何做好VB程序的意识,知道了对的简便的方法,我就不久的做好了一个又一个窗体。其实,我在制作途中结识有些功能的窗体制作方法大同小异,就如只要你会做一个添加录取学生信息的窗体,你就会接着做此外一个如添加课题信息的窗体。在制作动态网页时,我碰到了连接数据库失败各种程序代码错误等情况,但是我通过百度和对同学的请教,在结合自己的不断实践,终于得到了我想要的毕业设计管理系统。我的课程设计因此可以实现老师所规定的大部分功能。
虽然我做出来的毕业设计选题管理系统的功能效果也许比不上其他同学,但是我得到了制作数据库与VB程序的技巧、掌握了碰到问题时解决困难的能力,并且学会了灵活运用这些知识制作出一个让我满意、老师满意的作品,我就觉得我所做的努力得到了肯定,得到了成就感,我感受到了努力带来成功的快乐!
最后,感谢老师为我们所上的数据库课。相信对大多数选过老师您所专家的课的人而言,我们都会认为老师您是一个和蔼可亲,知识渊博的人。
总之,我能做好这个毕业设计管理系统,自己的努力与天赋也是成功的一部分,同样老师的教导也功不可没!
455
25
33222222
展开阅读全文