当前位置:网站首页>数据库课程设计:高校教务管理系统(含代码)
数据库课程设计:高校教务管理系统(含代码)
2022-07-06 09:17:00 【俊夫小瞳】
写在最开始:此课程设计是我2021年暑假自己一行一行代码写出来的,现在免费分享给大家,如果有帮到你的话希望可以给我点个赞哦,谢谢。
如果有什么问题可以留下评论,我看到的话会回你的,但是我只能回答我的代码相关的问题,其他配置问题啥的建议多去搜索一下。
资源链接(自行选择,皆为免费):
下面我针对代码进行一些讲解:
1、本课程设计没有特别高大上,人机交互界面使用的Java swing的各种组件,后端就是Java和SQL server,压缩包里面我给出了SQL文件,大家下载后在SQL server直接运行就可以了,但是我不知道MySQL或者Navicat是否能够运行,建议大家搜一下,我觉得应该挺好解决的,如果想用MySQL的话。
2、下载压缩包、打开压缩包,里面会有三样东西。
这三样东西分别是:
Eclipse的Project文件;
创建数据库的SQL代码;
课程设计报告。
注意:课程设计报告里面的内容可能和实际的代码不一致,因为我在后期的时候完善了一些功能,这个具体需要大家自己去看了,我只记得一些:
报告里只能选课,但是代码实现了退课;
查看课表的功能以前是直接弹出一张课表照片,现在是在页面上打印出课表。
我只记得这些了。
3、打开Project
以下只介绍正常步骤,默认不会出错,操作过程中遇到的问题建议去网上搜索解决方法。
File——Open Projects from File System
点击Directory选择Project文件lin
打开后是这个样子:
我只有一个包zzdx,里面就包含了项目的所有代码,其实这种代码编写习惯是很不好的,全部代码都在一个包里会很繁琐,也很不专业,而我大二的时候其实也不懂什么MVC框架之类的,所以就都写在了一个包里。
注意:只有lf.java才能运行,其他的都是调用的。
原谅我取的名字有点奇怪,大部分都是中文首字母,比如:第二个ckcj.java,这个文件就是查看成绩的界面。
右键lf.java——Run As——Java Application
运行界面就出来了。如下:我的界面都比较朴素,大家如果有时间的话,可以去搜一下怎么把界面变得更美观。
哦对了,所有图片文件都在包里,大家要更换的话可以在包里直接换就行。
还有就是文字需要修改的可能需要在对应界面的代码里去找,比如第一个界面里的郑州大学教务系统啥的,需要在lf.java里修改。
这种汉字在代码里还是挺显眼的,所以应该好改吧,对大家来说可能难的地方是需要找到对应界面对应的Java文件。
下面干脆我来解释一下各个代码表示的页面或者功能吧:(不是按照Eclipse里排列的顺序来的)
主任就相当于管理员
身份 | 代码名 | 含义 |
---|---|---|
ALL | lf.java | 欢迎页 |
ALL | welcome.java | 选择身份 |
ALL | dl.java、test.java | 输入账号密码登录,test.java用于生成验证码 |
ALL | zzdx.java、zzdx1.java、zzdx2.java | 账号密码验证(学生、老师、主任) |
ALL | success.java、success1.java、success2.java、qq.java | 登陆成功后的首页(学生、老师、主任),qq.java用于生成首页的核心部分——功能选择框 |
ALL | error.java | 账号密码有误 |
学生 | ckkb.java | 查看课表 |
学生 | ckcj.java | 查看成绩 |
学生 | cktz.java | 查看通知 |
学生 | jsdh.java、more.java | 查询老师的电话,jsdh.java是查看任课老师的电话,如果想要其他老师的电话可以在more.java里面查询 |
学生 | xk.java | 选课 |
学生 | tuike.java | 退课 |
学生 | xgmm.java | 修改密码 |
老师 | ckkc.java | 查看任课课程 |
老师 | fbtz.java | 发布通知 |
老师 | sccj.java | 上传学生成绩 |
主任 | ckjl.java | 查看老师上传成绩的记录 |
主任 | gznx.java | 更新老师工作年限(这个功能没什么用,建议删除) |
主任 | kskc.java | 开设课程 |
主任 | zhgl.java、xs.java、js.java、sc.java、cj.java | 账户管理(增删师生账号) |
4、运行SQL文件
在SQL server中
文件——打开——文件
也可以在MySQL或者Navicat中试试
找到zzdx.sql,打开
点击执行即可创建数据库
代码中所有这样的代码都需要换成你们自己的用户名和密码,如果你们把zzdx.sql换成其他名了,那么zzdx也要换成你们改的名字,这样才能成功连接数据库。
这个可能会花一点时间
首先用鼠标选中Class.forName
点击:Search——Text——Project
这样Eclipse就可以帮你找到在lin Project中所有出现Class.forName的地方,然后一一修改即可,只要改好一个,后面的直接复制粘贴即可。建议先试一下能不能成功连接数据库再全部进行修改。
5、课程设计报告
我再强调一下,报告里的内容和代码实现功能有出入,但是也没有差多少,大家可以参考参考。
6、大致的界面
页面描述 | 图片 |
---|---|
欢迎页 | |
身份选择 | |
输入账号密码 | |
登陆失败 | |
学生首页 | |
查看课程(名字改为查看课程是因为我觉得把学生的课拍成课表的样子很麻烦,所以这里只是简单地列了出来,以前的名字是查看课表是因为功能实现为弹出一张课表照片,不需要我认为编辑,所以大家可以把Project中的课表图片删了,因为没什么用,还有就是大家可以看到课程名字太长的话是无法全部显示的,我用的JLabel组件,大家有时间可以换成JTextField组件,可以显示全部名称) | |
查看成绩(null表示老师还没有上传成绩,此时默认显示通过考试) | |
查看通知(每个通知都会带上老师的姓名,只有课任老师发的通知,学生才会收到,好像是这样,我有点忘了) | |
查询电话(首先会打印出课任老师的电话,如果需要其他老师的,可以点击更多) | |
更多(输入名字即可查询,有这个老师就打印出来,没有就给出提示) | |
选课(可以进行模糊搜索,点击课程名就可以选课了,系统会自动对比该课程与已有课程是否存在冲突,选课或者退课都不能马上把课程移出当前列表,需要退出重进才能看见已选课程不在列表中了,但是多点几次是不会出错的,这个可以放心) | |
退课(点击课程编号即可退课) | |
修改密码 | |
老师首页 | |
查看教授的课程(和学生一样只是单纯列出来) | |
发布通知(只有自己的学生才会收到这份通知) | |
上传成绩(输入成绩然后点提交键,和选课一样,不能提交了某个学生的成绩该学生就从列表里移出,所以可以多次上传成绩,最后一次即为最终分数,但是上传记录都会被详细记载,主任可以查询,我们这里给庄周同学上传88分,等会看看主任能不能查看修改记录) | |
主任首页 | |
查看记录(看看有没有我们给庄周同学88分的记录,其实还是有一个问题我说一下,这里如果修改记录太多是无法全部显示的,需要定期清理record.txt文件,还有选课也是,如果可供选择的课太多也是无法全部显示的,大家有时间可以搜索一下换成什么组件可以实现下拉条,然后把这些记录信息或者课程信息放入下拉条组件里,这样就可以装下所有的内容了) | |
开设课程 | |
账户管理(包括对老师学生账号的创建和删除,我懒得截图了) |
7、好了,就这样吧,如果对你有所帮助希望可以给我点个赞
边栏推荐
- arduino UNO R3的寄存器写法(1)-----引脚电平状态变化
- PT OSC deadlock analysis
- VIM command line notes
- Unit test - unittest framework
- ES6 grammar summary -- Part 2 (advanced part es6~es11)
- Selective sorting and bubble sorting [C language]
- Missing value filling in data analysis (focus on multiple interpolation method, miseforest)
- RT-Thread 线程的时间片轮询调度
- 列表的使用
- Fashion-Gen: The Generative Fashion Dataset and Challenge 论文解读&数据集介绍
猜你喜欢
C语言回调函数【C语言】
A possible cause and solution of "stuck" main thread of RT thread
STM32 如何定位导致发生 hard fault 的代码段
Kaggle competition two Sigma connect: rental listing inquiries (xgboost)
JS regular expression basic knowledge learning
RT-Thread的main线程“卡死”的一种可能原因及解决方案
Types de variables JS et transformations de type communes
Feature of sklearn_ extraction. text. CountVectorizer / TfidVectorizer
基于Redis的分布式锁 以及 超详细的改进思路
Cannot change version of project facet Dynamic Web Module to 2.3.
随机推荐
Arduino gets the length of the array
Pytoch temperature prediction
.elf .map .list .hex文件
Esp8266 connects to onenet cloud platform (mqtt) through Arduino IDE
STM32 如何定位导致发生 hard fault 的代码段
Mysql database interview questions
AMBA、AHB、APB、AXI的理解
Arduino get random number
C language, log print file name, function name, line number, date and time
C语言,log打印文件名、函数名、行号、日期时间
PT OSC deadlock analysis
[esp32 learning-1] construction of Arduino esp32 development environment
Amba, ahb, APB, Axi Understanding
Detailed explanation of 5g working principle (explanation & illustration)
(三)R语言的生物信息学入门——Function, data.frame, 简单DNA读取与分析
Walk into WPF's drawing Bing Dwen Dwen
C语言函数之可变参数原理:va_start、va_arg及va_end
Types de variables JS et transformations de type communes
Knowledge summary of request
Redis 缓存更新策略,缓存穿透、雪崩、击穿问题