




免费预览已结束,剩余21页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库课程设计论文一 需求分析11.1.用户需求:11.2.系统功能需求:11.3系统性能需求11.4系统软硬件环境确定1二 系统功能设计22.1系统功能结构22.2系统功能处理流程2三 系统数据库设计33.1数据库概念设计(e-r图)33.1.1用户表(users)33.1.2管理员表(admin)33.1.3 昆虫简介(summary)33.1.4昆虫信息(insect)33.2数据库逻辑设计43.3数据库物理设计43.3.1管理员(admin)43.3.2用户表(users)53.3.3昆虫纲目表(summary)53.3.4昆虫信息(insect)5四、系统实现54.1数据库连接的实现54.2用户登录功能的实现64.3用户可以查看昆虫的分类以及纲目的简介功能的实现124.4用户查询,添加,更新以及清空功能的实现134.5管理员删除能的实现22五 总结24一 需求分析1.1.用户需求:为了增强同学们对昆虫的认识,使同学们对生活中的昆虫有一个更好的了解,现决定完成此昆虫科普信息系统。1.2.系统功能需求: 1).列出昆虫纲的几大目,并做简介;2).查询功能:输入昆虫名字,可以查询该昆虫的信息;3).更新功能:可以新添昆虫的种类;4).删除功能:可以删除昆虫的信息;5).修改功能:可以修改昆虫的信息;1.3系统性能需求能够对系统进行定期维护,对用户表只能进行添加注册,昆虫表可以进行修改删除,科目表则只能进行在程序中显示。1.4系统软硬件环境确定软件:运用java语言,通过jdbc桥接mysql,使用lomboz eclipse为开发环境。硬件:主存2g,硬盘存储10运行环境:windows xp及以上系统。24二 系统功能设计2.1系统功能结构1).欢迎界面:包括菜单栏和“进入昆虫世界”的按钮;2).登录:点击菜单栏和右下角的“进入昆虫世界”按钮均为登录,需要输入用户名才可进行登录;3).科目简介:包括昆虫纲的总结介绍,昆虫纲一下所属目的介绍;4).菜单栏编辑:可以通过菜单栏进入对昆虫信息的查看(包括的昆虫的名字,分布,简介以及所属科目),查找(通过昆虫名字进行搜索),添加(新昆虫的信息)以及删除(需要登录超级管理员权限);用户登录2.2系统功能处理流程增加修改修 改信息普通用户超级管理员昆虫查询删除 昆虫信息三 系统数据库设计3.1数据库概念设计(e-r图)用户名3.1.1用户表(users)用户密码用户管理员3.1.2管理员表(admin)密码名称3.1.3 昆虫简介(summary)昆虫纲科目简介名称3.1.4昆虫信息(insect)分布名称信息科目介绍3.2数据库逻辑设计昆虫纲信息昆虫科目昆虫信息用户管理员只有管理员才能删除昆虫信息昆虫纲总纲信息昆虫科目信息用户名称用户密码注册名称分布所属科目介绍3.3数据库物理设计3.3.1管理员(admin)此表存储管理员的登陆信息。 物理结构为:3.3.2用户表(users) 此表存储用户登录的信息。 物理结构为:3.3.3昆虫纲目表(summary)此表存储昆虫纲目的基本信息。物理结构为:3.3.4昆虫信息(insect)此表存储各种昆虫的详细信息。物理结构为:四、系统实现4.1数据库连接的实现public static connection getconn() connection conn = null;try class.forname(com.mysql.jdbc.driver);conn = drivermanager.getconnection(jdbc:mysql:/localhost/insect_system?user=root&password=root); catch (classnotfoundexception e) e.printstacktrace(); catch (sqlexception e) e.printstacktrace();return conn;4.2用户登录功能的实现用户通过该窗体进行登陆,首先输入用户名与密码,通过在数据库中的users表中进行查询是否有此用户名,输入正确则进入系统,否则无反应。用户登录分为普通用户和管理员登录,删除时候需要管理员登录。另外普通用户可进行注册。用户登陆:用户注册:经理登陆:用户注册代码:public class userreg extends jframeprivate static final long serialversionuid = 1l;/* * 用户注册 */static jcoolbutton creg =new jcoolbutton();static jtextarea areg =new jtextarea();static jpasswordfield alog =new jpasswordfield();static jlabel treg = new jlabel();static jlabel tlog = new jlabel();public void launchframe()jpanel jp = new jpanel();jp.setlayout(null);jp.setbackground(color.light_gray);settitle(用户注册);setlocation(428, 250);setsize(320, 240);setvisible(true);treg.settext(用户名:);treg.setbounds(30, 40, 100, 20);tlog.settext(密码:);tlog.setbounds(30, 90, 100, 20);areg.setbounds(110, 40, 150, 20);alog.setbounds(110, 90, 150, 20);creg.setbounds(150, 160, 100, 20);creg.settext(确定);creg.addactionlistener(new actionlistener()suppresswarnings(deprecation)public void actionperformed(actionevent arg0) string getid = areg.gettext();string getsecret = alog.gettext();db.save(getid, getsecret);dispose(););jp.add(treg);jp.add(tlog);jp.add(areg);jp.add(alog);jp.add(creg);this.add(jp);用户登录代码:public class userlogin extends jframe private static final long serialversionuid = 1l;/* * 用户登陆 */static jcoolbutton creg = new jcoolbutton();static jcoolbutton clog = new jcoolbutton();static jtextarea areg = new jtextarea();static jpasswordfield alog = new jpasswordfield();static jlabel treg = new jlabel();static jlabel tlog = new jlabel();public void launchframe() jpanel jp = new jpanel();jp.setlayout(null);jp.setbackground(color.light_gray);settitle(用户登陆);setlocation(428, 250);setsize(320, 240);setvisible(true);treg.settext(用户名:);treg.setbounds(30, 40, 100, 20);tlog.settext(密码:);tlog.setbounds(30, 90, 100, 20);areg.setbounds(110, 40, 150, 20);alog.setbounds(110, 90, 150, 20);creg.setbounds(40, 160, 100, 20);creg.settext(注册);creg.addactionlistener(new actionlistener() public void actionperformed(actionevent e) new userreg().launchframe(););clog.setbounds(180, 160, 100, 20);clog.settext(登陆);clog.addactionlistener(logact);jp.add(treg);jp.add(tlog);jp.add(areg);jp.add(alog);jp.add(creg);jp.add(clog);this.add(jp);private actionlistener logact = new actionlistener() public void actionperformed(actionevent e) string selename = areg.gettext();string selesecret = alog.gettext();if (db.selectname(selesecret).equals(selename)& db.selectsecret(selename).equals(selesecret) new summary().launchframe();dispose();管理员登录代码:public class superadmin extends jframe private static final long serialversionuid = 1l;/* * 用户登陆 */static jcoolbutton clog = new jcoolbutton();static jtextarea areg = new jtextarea();static jpasswordfield alog = new jpasswordfield();static jlabel treg = new jlabel();static jlabel tlog = new jlabel();public void launchframe() jpanel jp = new jpanel();jp.setlayout(null);jp.setbackground(color.light_gray);settitle(管理员登陆);setlocation(428, 250);setsize(320, 240);setvisible(true);treg.settext(用户名:);treg.setbounds(30, 40, 100, 20);tlog.settext(密码:);tlog.setbounds(30, 90, 100, 20);areg.setbounds(110, 40, 150, 20);alog.setbounds(110, 90, 150, 20);clog.setbounds(180, 160, 100, 20);clog.settext(登陆);clog.addactionlistener(logact);jp.add(treg);jp.add(tlog);jp.add(areg);jp.add(alog);jp.add(clog);this.add(jp);private actionlistener logact = new actionlistener() suppresswarnings(deprecation)public void actionperformed(actionevent e) string selename = areg.gettext();string selesecret = alog.gettext();if (selesecret.equals(admin)& selename.equals(admin) & db.pri(selename) = 1) string getname = edit.tname.gettext();db.dele(getname);superadmin.this.dispose();4.3用户可以查看昆虫的分类以及纲目的简介功能的实现用户进入系统后,即看到昆虫纲的总简介以及所分的科目:点击科目即可看到科目的简介:例如蜻蜓目,且图片为对应的:4.4用户查询,添加,更新以及清空功能的实现输入昆虫名称虎甲:点击查询:点击清空后:添加昆虫:添加前数据库:添加“蚂蚁信息”:数据库插入后:更新蚂蚁信息后:数据库添加代码:public static void save(string name,string distribution,string intro,string belong) connection conn = db.getconn();/ 数据库操作preparedstatement prepstmt = null;try prepstmt = conn.preparestatement(insert into insect values (?,?,?,?);prepstmt.setstring(1, name);prepstmt.setstring(2, distribution);prepstmt.setstring(3, intro);prepstmt.setstring(4, belong);prepstmt.executeupdate(); catch (sqlexception e1) e1.printstacktrace(); finally try if (conn != null) conn.close();conn = null;if (prepstmt != null) prepstmt.close();prepstmt = null; catch (final sqlexception e) e.printstacktrace(); 数据库查询代码:public static inforbean sele(string name) inforbean infor = new inforbean(intro,distri,belong);connection conn = db.getconn();/ 数据库操作preparedstatement prepstmt1 = null;preparedstatement prepstmt2 = null;preparedstatement prepstmt3 = null;resultset rs1 = null;resultset rs2 = null;resultset rs3 = null;string distribution = null;string introduction = null;string belong = null;try prepstmt1 = conn.preparestatement(select distribution from insect where name = (?);prepstmt2 = conn.preparestatement(select intro from insect where name = (?);prepstmt3 = conn.preparestatement(select belong from insect where name = (?);prepstmt1.setstring(1, name);prepstmt2.setstring(1, name);prepstmt3.setstring(1, name);rs1 = prepstmt1.executequery();rs2 = prepstmt2.executequery();rs3 = prepstmt3.executequery();while (rs1.next() distribution = rs1.getstring(distribution);infor.setdistri(distribution);while (rs2.next() introduction = rs2.getstring(intro);infor.setintro(introduction);while (rs3.next() belong = rs3.getstring(belong);infor.setbelong(belong); catch (sqlexception e1) e1.printstacktrace(); finally try if (conn != null) conn.close();conn = null;if (prepstmt1 != null) prepstmt1.close();prepstmt1 = null;if (prepstmt2 != null) prepstmt2.close();prepstmt2 = null;if (prepstmt3 != null) prepstmt3.close();prepstmt3 = null; catch (final sqlexception e) e.printstacktrace();return infor;数据库清空代码:public actionlistener cleaact = new actionlistener() public void actionperformed(actionevent e) tname.settext();tbelong.setselecteditem(半翅目);tdistribution.settext();tintro.settext();数据库更新代码:public static void upda(string name,string distribution,string intro,string belong) connection conn = db.getconn();/ 数据库操作statement st = null;preparedstatement prepstmt = null;try st = conn.createstatement();st.executequery(select * from insect where name = + name + );prepstmt = conn.preparestatement(update insect set distribution = (?),intro = (?),belong = (?) where name = (?);prepstmt.setstring(1, distribution);prepstmt.setstring(2, intro);prepstmt.setstring(3, belong);prepstmt.setstring(4, name);prepstmt.executeupdate(); catch (sqlexception e1) e1.printstacktrace(); finally try if (conn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水族馆展示缸打蜡保护与清洁协议
- 高端写字楼租赁及综合服务合同范本
- 知识产权纠纷调解与保密合同
- 重庆社区考试试题及答案
- 2025年首脑礼仪考试题及答案
- 土木专业测试题及答案解析
- 幼教专业即兴面试题及答案
- 刘馨教授解读指南健康领域
- SMT设备工程师述职报告
- 急性坏死性肠炎患儿护理要点
- 2022年安康市交通建设投资集团有限公司招聘笔试试题及答案解析
- 煤矿井下电气设备防爆检查知识课件
- 华为TaiShan200-X6000服务器技术白皮书
- 地质勘查单位安全检查表-(修订本)
- 解读《义务教育体育与健康课程标准(2022年版)》2022年体育与健康新课标专题PPT
- GB∕T 40853.1-2021 高频感性元件 电特性及其测量方法 第1部分:纳亨级片
- 建筑识图题库及答案
- 氨基酸溶解性(共1页)
- GDX2包装机组工艺流程简介
- 张家口至涿州公路张家口段(含连接线)建设项目水资源论
- 异质结TCO设备:RPD与PVD比较分析(2021年).doc
评论
0/150
提交评论