![JAVA课程设计(论文)学生学籍管理系统_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-6/19/17e80f81-8570-4ab3-8f0f-9ff5604fdd48/17e80f81-8570-4ab3-8f0f-9ff5604fdd481.gif)
![JAVA课程设计(论文)学生学籍管理系统_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-6/19/17e80f81-8570-4ab3-8f0f-9ff5604fdd48/17e80f81-8570-4ab3-8f0f-9ff5604fdd482.gif)
![JAVA课程设计(论文)学生学籍管理系统_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-6/19/17e80f81-8570-4ab3-8f0f-9ff5604fdd48/17e80f81-8570-4ab3-8f0f-9ff5604fdd483.gif)
![JAVA课程设计(论文)学生学籍管理系统_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-6/19/17e80f81-8570-4ab3-8f0f-9ff5604fdd48/17e80f81-8570-4ab3-8f0f-9ff5604fdd484.gif)
![JAVA课程设计(论文)学生学籍管理系统_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-6/19/17e80f81-8570-4ab3-8f0f-9ff5604fdd48/17e80f81-8570-4ab3-8f0f-9ff5604fdd485.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录一、 设计目的2二、 功能介绍21、 系统功能要求22、 其他要求2三、 程序流程31、 数据库设计32、 应用程序设计4四、 设计步骤61、 连接数据库类dbconnect62、 用户登录面板63、 应用程序功能81. 查询全部82. 条件查询93. 个人信息显示144. 添加信息155. 删除信息186. 修改密码217. 注销22五、 设计总结23六、 参考资料23一、 设计目的通过课程设计,使学生提高理论联系实际解决实际问题的能力;也使学生对基于面向对象的理论进行系统设计过程中的诸多具体问题有感性的认识和深入的理解;进而提高学生的学习兴趣为其将来顺利进入毕业环节作必要的准备。由教
2、师布置课程设计的题目与思路,学生每56人一个题目,按照教师给出的思路和计划进度安排独立完成课程设计,最后每人提交一份课程设计报告。二、 功能介绍(一)系统功能要求:(1)具有新用户注册功能。(2)具有注册用户登录功能。(3)具有学生学籍的录入功能。(4)具有数据查询功能,可以实现查询全部信息和按条件执行查询。(5)具有按条件删除数据功能。(二)其它要求:(1)只能使用java语言,采用面向对象方法进行设计,要求源程序要有适当的注释,使程序容易阅读。(2)程序必须与数据库进行通信。(3)系统必须是图形用户界面的形式并连接数据库。(4)学生可根据自身情况酌情增加新功能(视情况可另外加分)。(5)独
3、立完成课程设计,并完成课程设计报告,报告应记录设计的过程,尤其是分析/设计/实现过程中的决策。三、 程序流程1、 数据库设计1.admin表的设计表1 admin表2.student_info表的设计表2 student_info表2、应用程序设计1.程序功能表视图图1 功能视图2.程序流程图图2 流程图四、 设计步骤1. 设计连接数据库类dbconnect。功能说明:该类主要用于数据库的连接。方法:public static connection getconnect();方法实现:public static connection getconnect() throws exceptions
4、tring driver = com.mysql.jdbc.driver;string url = jdbc:mysql:/localhost:3306/student;string user = root;string password = root;class.forname(driver);return drivermanager.getconnection(url,user,password);2. 设计欢迎使用面板功能说明:显示用户登录欢迎界面,当用户选择不同类型用户登录时,设置不同的下一页面显示信息。方法:public void loginbutton_actionperforme
5、d(actionevent e); 效果展示:图3 欢迎界面方法实现:public void loginbutton_actionperformed(actionevent e)if(e.getsource()=adminloginbutton)flag = true;user = 管理员;else if(e.getsource()=userloginbutton)flag = false;user = 普通;this.settitle(学生学籍管理系统-+user+用户登录);logininfo.settext(欢迎+user+用户登录);setinfo();3. 设计用户登录面板功能说明:
6、该面板主要用于填写用户登录信息,并根据用户登录信息查询数据库。点击提交按钮,查询数据库,若数据库中有该用户信息并且输入密码正确,则登录成功,否则提示错误。点击重置按钮则清空文本框,点击返回则返回上一级欢迎面板。方法:public void submit_actionperformed(actionevent e); public void cancel_actionperformed(actionevent e); public void back_actionperformed(actionevent e);效果展示:图4 填写登录信息方法实现:/点击提交按钮public void subm
7、it_actionperformed(actionevent e) throws exceptionconnection = dbconnect.getconnect();statement = connection.createstatement();string textfield = jtextfield.gettext().tostring();string password = jpasswordfield.gettext().tostring();string select = null;if(flag = true)select = select password from ad
8、min where username = +textfield+;elseselect = select password from student_info where sno = +textfield+;rs = statement.executequery(select);if(rs.next()&rs.getstring(password).equals(password)username = textfield;jtextfield.settext();jpasswordfield.settext();showinfo();elsejoptionpane.showmessagedia
9、log(this, 用户名或密码错误,请重新输入);jpasswordfield.settext();rs.close();/点击重置按钮public void cancel_actionperformed(actionevent e)jtextfield.settext();jpasswordfield.settext();/点击返回按钮public void back_actionperformed(actionevent e)this.settitle(欢迎使用学生学籍管理系统);jtextfield.settext();jpasswordfield.settext();try welc
10、ome(); catch (exception e1) / todo auto-generated catch blocke1.printstacktrace();4. 设计应用程序功能1. 查询全部 功能说明:当该用户是管理员用户的时候,该用户具有查询全部学生信息和全部管理员信息的权限,当该用户是普通学生用户时,只有查询全部学生信息的功能。在查询全部标签下,点击学生信息或管理员信息按钮,程序就会将所有查询信息显示在右下角的表格里。方法:public void jbuttonqurryall_ationperformed(actionevent e);效果展示图5 查询全部学生信息图6 查询全
11、部管理员信息方法实现:public void jbuttonqurryall_actionperformed(actionevent e)if(e.getsource()=jbuttonqurryallad)selectflag = true;jtable.setmodel(jtableinfo.tablemodelad);jtableinfo.setcolumnwidth(jtable);qurrystring = select username, name, sex, people, age, dept from admin;else if(e.getsource()=jbuttonqur
12、ryallst)selectflag = false;jtable.setmodel(jtableinfo.tablemodelst);jtableinfo.setcolumnwidth(jtable);qurrystring = select sno, sname, sex, people, age, sid, address, dept, sclass, inscore from student_info;try cnt = setjtableinfo(); catch (exception e1) / todo auto-generated catch blocke1.printstac
13、ktrace();if(jcomboboxquery.isenabled() jcomboboxquery.setenabled(false);if(jcomboboxcon.isenabled()jcomboboxcon.setenabled(false);if(jbuttonupdateinfo.isenabled() jbuttonupdateinfo.setenabled(false);if(jlabelqurryvalue.isvisible() jlabelqurryvalue.setvisible(false);if(jtextfieldquery.isvisible() jte
14、xtfieldquery.setvisible(false);if(jbuttonqueryok.isenabled() jbuttonqueryok.setenabled(false);2. 条件查询功能说明:当该用户是管理员用户的时候,该用户具有按条件查询学生信息和管理员信息的权限,当该用户是普通学生用户时,只有按条件查询学生信息的功能。在条件查询标签下,点击学生信息或管理员信息按钮,之后在查询条件下拉列表里选择要查询的条件并填写相应的值之后点击查询按钮,在面板的右下角的表格中就会显示查询结果,若没有记录则给出提示。方法:public void jbuttonqurryprt_action
15、performed(actionevent e); public void jbuttonqueryok_actionperformed(actionevent e); public void jcomboboxquery_actionperformed(actionevent e);效果展示:图7 按条件查询学生信息成功图8 按条件查询管理员信息成功图9 没有符合条件的信息方法实现:/search as conditionpublic void jbuttonqurryprt_actionperformed(actionevent e)jcomboboxquery.removeallitem
16、s();jcomboboxcon.removeallitems();if(e.getsource()=jbuttonqurryprtst)selectflag = false;jtable.setmodel(jtableinfo.tablemodelst);for(int i = 0; i cbxstringst.length; i +)jcomboboxquery.additem(cbxstringsti);else if(e.getsource()=jbuttonqurryprtad)selectflag = true;jtable.setmodel(jtableinfo.tablemod
17、elad);for(int i = 0; i cbxstringad.length; i +)jcomboboxquery.additem(cbxstringadi);jtableinfo.setcolumnwidth(jtable);jtableinfo.setjtableempty(jtable);if(jbuttonupdateinfo.isenabled() jbuttonupdateinfo.setenabled(false);if(!jcomboboxquery.isenabled() jcomboboxquery.setenabled(true);if(!jbuttonquery
18、ok.isenabled() jbuttonqueryok.setenabled(true);/查询按钮事件处理public void jbuttonqueryok_actionperformed(actionevent e)if(jtextfieldquery.isenabled() &jtextfieldquery.isvisible()&(jtextfieldquery.gettext().tostring() = null|jtextfieldquery.gettext().tostring().equals() joptionpane.showmessagedialog(this,
19、请输入查询的值);elseif(selectflag)jtable.setmodel(jtableinfo.tablemodelad);jtableinfo.setcolumnwidth(jtable);qurrystring = select username, name, sex, people, age, dept from admin where ;if(jcomboboxquery.getselectedindex()=0)qurrystring += username = +jtextfieldquery.gettext()+;else if(jcomboboxquery.gets
20、electedindex()=1)qurrystring += name like %+jtextfieldquery.gettext().tostring()+%;else if(jcomboboxquery.getselectedindex()=2)qurrystring +=age ;if(jcomboboxcon.getselectedindex()=0)qurrystring += +jtextfieldquery.gettext()+;else if(jcomboboxcon.getselectedindex()=1)qurrystring += +jtextfieldquery.
21、gettext()+;else qurrystring += =+jtextfieldquery.gettext()+;else if(jcomboboxquery.getselectedindex()=3)qurrystring += dept = +jtextfieldquery.gettext()+;else if(jcomboboxquery.getselectedindex()=4)if(jcomboboxcon.getselectedindex()=0)qurrystring += sex = 男;else qurrystring += sex = 女;else qurrystri
22、ng += people = +jtextfieldquery.gettext()+;try cnt = setjtableinfo(); catch (exception e1) / todo auto-generated catch blocke1.printstacktrace();elsejtable.setmodel(jtableinfo.tablemodelst);jtableinfo.setcolumnwidth(jtable);qurrystring = select sno, sname, sex, people, age, sid, address, dept, sclas
23、s, inscore from student_info where ;if(jcomboboxquery.getselectedindex()=0)qurrystring += sno = +jtextfieldquery.gettext()+;else if(jcomboboxquery.getselectedindex()=1)qurrystring += sname like %+jtextfieldquery.gettext().tostring()+%;else if(jcomboboxquery.getselectedindex()=2)qurrystring +=age ;if
24、(jcomboboxcon.getselectedindex()=0)qurrystring += +jtextfieldquery.gettext()+;else if(jcomboboxcon.getselectedindex()=1)qurrystring += +jtextfieldquery.gettext()+;else qurrystring += =+jtextfieldquery.gettext()+;else if(jcomboboxquery.getselectedindex()=3)qurrystring += dept = +jtextfieldquery.gette
25、xt()+;else if(jcomboboxquery.getselectedindex()=4)if(jcomboboxcon.getselectedindex()=0)qurrystring += sex = 男;else qurrystring += sex = 女;else if(jcomboboxquery.getselectedindex()=5)qurrystring += people = +jtextfieldquery.gettext()+;else if(jcomboboxquery.getselectedindex()=6)qurrystring += address
26、 = +jtextfieldquery.gettext()+;else if(jcomboboxquery.getselectedindex()=7)qurrystring += sclass = +jtextfieldquery.gettext()+;else qurrystring +=inscore ;if(jcomboboxcon.getselectedindex()=0)qurrystring += +jtextfieldquery.gettext()+;else if(jcomboboxcon.getselectedindex()=1)qurrystring += +jtextfi
27、eldquery.gettext()+;else qurrystring += =+jtextfieldquery.gettext()+;try cnt = setjtableinfo(); catch (exception e1) / todo auto-generated catch blocke1.printstacktrace();if(cnt = 0) joptionpane.showmessagedialog (this, 没有符合条件的信息);/jcomboboxquery 第一个下拉列表事件public void jcomboboxquery_actionperformed(a
28、ctionevent e)jtextfieldquery.settext();if(jcomboboxquery.getselectedindex() = 2|jcomboboxquery.getselectedindex() = 4|jcomboboxquery.getselectedindex() = 8)jcomboboxcon.setenabled(true);if(jcomboboxquery.getselectedindex() = 4)jcomboboxcon.removeallitems();for(int i = 0; i cbxstringsexcon.length; i
29、+)jcomboboxcon.additem(cbxstringsexconi);if(jlabelqurryvalue.isvisible() jlabelqurryvalue.setvisible(false);if(jtextfieldquery.isvisible() jtextfieldquery.setvisible(false);elseif(!jlabelqurryvalue.isvisible() jlabelqurryvalue.setvisible(true);if(!jtextfieldquery.isvisible() jtextfieldquery.setvisib
30、le(true);jcomboboxcon.removeallitems();for(int i = 0; i cbxstringcon.length; i +)jcomboboxcon.additem(cbxstringconi);elseif(!jlabelqurryvalue.isvisible() jlabelqurryvalue.setvisible(true);if(!jtextfieldquery.isvisible() jtextfieldquery.setvisible(true);jcomboboxcon.setenabled(false);3. 个人信息显示功能说明:主要
31、显示个人信息,当用户点击个人信息标签下的显示信息按钮时,在面板的右下角显示用户个人信息方法:public void jbuttonupdate_actionperformed(actionevent e);效果展示:图10 显示当前用户信息方法实现:/show own infopublic void jbuttonupdate_actionperformed(actionevent e)if(flag)jtable.setmodel(jtableinfo.tablemodelad);jtableinfo.setcolumnwidth(jtable);qurrystring = select u
32、sername, name, sex, people, age, dept from admin where username = +username+;selectflag = true;elsejtable.setmodel(jtableinfo.tablemodelst);jtableinfo.setcolumnwidth(jtable);selectflag = false;qurrystring = select sno, sname, sex, people, age, sid, address, dept, sclass, inscore from student_info wh
33、ere sno = +username+;try cnt = setjtableinfo(); catch (exception e1) / todo auto-generated catch blocke1.printstacktrace();if(jcomboboxquery.isenabled() jcomboboxquery.setenabled(false);if(jcomboboxcon.isenabled() jcomboboxcon.setenabled(false);if(jbuttonupdateinfo.isenabled() jbuttonupdateinfo.sete
34、nabled(false);if(jlabelqurryvalue.isvisible() jlabelqurryvalue.setvisible(false);if(jtextfieldquery.isvisible() jtextfieldquery.setvisible(false);if(jbuttonqueryok.isenabled() jbuttonqueryok.setenabled(false);4. 添加信息功能说明:主要用于添加学生记录和管理员。当点击添加信息标签下的学生记或管理员用户时,在面板右下角的表格中就会有一个空行,在空行中填写你要添加的记录,点击添加按钮,若数据
35、库中没有该学号的学生或用户名唯一,则会提示添加成功,否则提示添加失败方法:public void jbuttonadd_actionperformed(actionevent e); public void jbtuuonupdateinfo_actionperformed(actionevent e);效果展示:图11 添加学生记录成功图12 添加管理员用户失败方法实现:/add infopublic void jbuttonadd_actionperformed(actionevent e)if(e.getsource()=jbuttonaddst)selectflag = false;j
36、table.setmodel(jtableinfo.tablemodelst);jtableinfo.setjtableempty(jtable);jtableinfo.setcolumnwidth(jtable);defaulttablemodel tablemodel = (defaulttablemodel)jtable.getmodel();tablemodel.addrow(new objectnull, null, null, null, null, null, null, null, null, null);else if(e.getsource()=jbuttonaddad)s
37、electflag = true;jtable.setmodel(jtableinfo.tablemodelad);jtableinfo.setjtableempty(jtable);jtableinfo.setcolumnwidth(jtable);defaulttablemodel tablemodel = (defaulttablemodel)jtable.getmodel();tablemodel.addrow(new objectnull,null,null,null,null,null);if(jcomboboxquery.isenabled()jcomboboxquery.set
38、enabled(false);if(jcomboboxcon.isenabled()jcomboboxcon.setenabled(false);if(!jbuttonupdateinfo.isenabled() jbuttonupdateinfo.setenabled(true);if(jlabelqurryvalue.isvisible() jlabelqurryvalue.setvisible(false);if(jtextfieldquery.isvisible() jtextfieldquery.setvisible(false);if(jbuttonqueryok.isenable
39、d() jbuttonqueryok.setenabled(false);/添加信息public void jbuttonupdateinfo_actionperformed(actionevent e)qurrystring = insert into ;if(selectflag)qurrystring += admin values(;admin ad = new admin();ad.setusername(string)jtable.getvalueat(0, 0);ad.setname(string)jtable.getvalueat(0, 1);ad.setsex(string)
40、jtable.getvalueat(0, 2);ad.setpeople(string)jtable.getvalueat(0, 3);if(jtable.getvalueat(0, 4)!=null)ad.setage(integer.parseint(string)jtable.getvalueat(0, 4);ad.setdept(string)jtable.getvalueat(0, 5);ad.setpassword(string)jtable.getvalueat(0, 0);if(ad.getsex()!= null&!ad.getsex().equals()&!ad.getse
41、x().equals(男)&!ad.getsex().equals(女)joptionpane.showmessagedialog(this, 性别只能为男或女);elseboolean fg = false;qurrystring +=ad.getusername()+, +ad.getname()+, +ad.getsex()+, +ad.getpeople()+, +ad.getage()+, +ad.getdept()+, +ad.getpassword()+);try statement.executeupdate(qurrystring); catch (sqlexception
42、e1) fg = true;joptionpane.showmessagedialog(this, 用户已存在或性别为空);if(!fg)joptionpane.showmessagedialog(this, 添加成功);elsequrrystring += student_info values(;student st = new student();st.setsno(string)jtable.getvalueat(0, 0);st.setname(string)jtable.getvalueat(0, 1);st.setsex(string)jtable.getvalueat(0, 2
43、);st.setpeople(string)jtable.getvalueat(0, 3);if(jtable.getvalueat(0, 4)!=null)st.setage(integer.parseint(string)jtable.getvalueat(0, 4);st.setsid(string)jtable.getvalueat(0, 5);st.setaddress(string)jtable.getvalueat(0, 6);st.setdept(string)jtable.getvalueat(0, 7);st.setclass(string)jtable.getvaluea
44、t(0, 8);if(jtable.getvalueat(0, 9)!=null)st.setinscore(integer.parseint(string)jtable.getvalueat(0, 9);st.setpassword(string)jtable.getvalueat(0, 0);if(st.getsex()!=null& !st.getsex().equals() & !st.getsex().equals(男)& !st.getsex().equals(女)joptionpane.showmessagedialog(this, 性别只能为男或女);elseboolean f
45、g = false;qurrystring += st.getsno()+, +st.getname()+, +st.getsex()+, +st.getpeople()+, +st.getage()+, +st.getsid()+, +st.getaddress()+, +st.getdept()+, +st.getsclass()+, +st.getinscore()+, +st.getpassword()+);try statement.executeupdate(qurrystring); catch (sqlexception e1) fg = true;joptionpane.sh
46、owmessagedialog(this, 已有该学号的学生记录或性别为空);if(!fg)joptionpane.showmessagedialog(this, 添加成功);5. 删除记录功能说明:主要用于删除学生记录和管理员用户。在表格中选择你要删除的信息后,当点击删除信息标签下的学生信息或管理员信息时,应用程序就会提示你是否真的要删除你选择的信息,若点是,则应用程序会删除你要删除的信息,点击其他则取消删除。方法:public jbottondelete_actionperformed(actionevent e);效果展示:图13 删除学生信息图14 删除管理员用户成功方法实现:/delete infopublic void jbuttondelete_actionperformed(actionevent e) throws exceptionstring sql = null;boolean isright = true;int selectrows = jtable.getselectedrows().length;defaulttablemodel tablemodel = (defaulttablemodel)jtable.getm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度智能仓储卷帘门系统采购及集成合同
- 2025年度区块链技术应用项目开发与许可合同
- 2025年休假村租赁协议模板
- 2025年建筑工程模板工程承包合同书
- 2025年信用卡债务履行协议
- 2025年金刚石膜工具项目立项申请报告模范
- 2025年血液系统用药项目规划申请报告模范
- 2025年街头篮球项目规划申请报告
- 2025年放射性药品项目提案报告模式
- 2025年生活用橡胶制品:塑胶盒项目规划申请报告范文
- 工业机器人编程语言:Epson RC+ 基本指令集教程
- 2024年同等学力申硕统考英语卷
- 六年级下册音乐全册教案湖南文艺出版社湘教版
- 2023.05.06-广东省建筑施工安全生产隐患识别图集(高处作业吊篮工程部分)
- 2024年上海高考数学真题试题(原卷版+含解析)
- JTG 3362-2018公路钢筋混凝土及预应力混凝土桥涵设计规范
- 电动汽车用驱动电机系统-编制说明
- 江苏卷2024年高三3月份模拟考试化学试题含解析
- 门诊导诊课件
- 2024年四川省成都市新都区中考英语一诊试卷(含解析)
- 《树立正确的“三观”》班会课件
评论
0/150
提交评论