数据库课程设计之某单位考勤管理系统_第1页
数据库课程设计之某单位考勤管理系统_第2页
数据库课程设计之某单位考勤管理系统_第3页
数据库课程设计之某单位考勤管理系统_第4页
数据库课程设计之某单位考勤管理系统_第5页
已阅读5页,还剩25页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库课程设计报告第1页共27页1 .课程设计目的KTBKTBW-»9TB!-F-0T,HkFbhhSTBHkHThITBFKTB"I(1)培养员工运用所学课程数据库系统原理的理论知识和技能,深入理解数据库系统原理课程相关的理论知识,学会分析实际问题的能力。(2)培养员工掌握用数据库系统原理的知识设计计算机应用课题的思想和方法。(3)培养员工调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。(4)通过课程设计的训练,要求员工在教师的指导下,独立完成大作业。2 .课程设计任务与要求:任务:(1)通过调查研究和运用Internet,收集和调查有关资料、最新技术信息。(2

2、)基本掌握撰写小论文的基本步骤和写作方法。(3)根据课题的要求基本理解和掌握数据流图(DFD和数据字典(DD)的设计方法。(4)根据课题的要求基本理解和掌握E-R图的设计方法和关系模式的转换。(5)根据ER图生成数据库表。(6)数据库完整性、安全性保证措施(7)数据库实施维护计划基本要求:(1)每个员工从给定题目中任选一个作为课程设计题目,调查分析一个具体的或模拟的实例。同一个班中的同学不允许选择相同的题目。选好题目后发给班长或学习汇总,产生选题冲突时,由班长/委员协调解决;(2)描述该实例的业务信息和管理工作的要求;(3)建立数据字典;(4)列出实体、联系;(5)指出实体和联系的属性;(6)

3、画出E-R图;(7)将E-R图转换成关系模式,并注明主码和外码;(8)创建数据库;(9)根据题目的要求写查询、存储过程、触发器等。问题描述:实现部门、员工信息管理;数据库程设计报告第2页共27页实现系统信息管理,用于设置上午、下午的上下班时间;实现考勤登记;创建触发器,如果打卡时间超出上班时间,并且小于5分钟,登记为迟到,否则登记为旷工;创建存储过程统计各员工指定月份的缺席、旷工次数;创建视图分组查询各部门的职工信息及职工人数,使用Compute子句;创建check约束,限制员工的性别必须为男或女;表间关系3.课程设计说明书1>*!UK-B&U,3.1需求分析3.1.1功能需求(

4、1)管理层管理功能包括:新员工基本信息录入工作在线查询公司各部门员工的考勤信息修改员工基本信息(2)员工功能包括签到、签出上班打卡查询个人账号信息在线修改个人信息3.1.2数据需求关于考勤系统,以下是设计数据信息表:(1)部门信息表(2)级别信息表部门名称nchar(10)、部门编号级别int、级别名称nchar(10);int;(3)技能信息表:技能编号nchar(10)、技能名称nchar(10);(4)员工信息表:级另ijint、员工编号int、密码int、部门编号int、姓名nchar(10)、性另ijnchar(10)、年龄int、邮箱nchar(10)、住址nchar(10)、电话

5、nchar(10)、进入公司日期nchar(10)、学历nchar(10)、政治面貌nchar(10);(5)员工技能表:员工编号(6)考勤记录表:员工编号(7)状态信息表:状态编号int、技能编号int;int、状态编号int、上班时间nchar(20)、下班时间nchar(20)、日期nchar(20);int、状态名称nchar(10);数据库程设计报告第3页共27页图4系统功能结构图3.1.3 安全性完整性需求(1)安全性需求分析 需要输入用户名与密码才能登陆本系统; 输入的登陆密码需要以“*”显示;禁止非法数据写入;对于各种错误可以做到提醒或纠正;(2)完整性需求 数据库设计时要使关

6、系的属性不可再分,满足原子性; 约束表格中部分属性的内容; 为数据的新增、修改或删除设定对应的触发器; 给表格外键设置级联删除,当对应外键被删除时,将其关联信息全部删除;防止数据库查询发生SQL注入的攻击;3.1.4 数据流图(1)顶层数据流图,如图1示:第4页共27页员工信息.世号备汨员工者勤考勤后号国管理员信息数据库程设计报告管理人员普通员工员工权限一一返回普询图1顶层数据流图(2)零层数据流图,如图2示:昧W里忘一二E1HT民工信息考邕1信总图2零层数据流图(3)一层数据流图,如图3示:0状态信Diaim0a考勤信言表0L员工信息哀一记录考勤+/I考勤管理系统/P2艮I一A|信息管I理数

7、据库程设计报告第5页共27页图3一层流图3.1.5 E-R图(1)局部E-R图(以考勤表、员工信息表为例)如图5、图6示:图5考勤信息表E-R图数据库程设计报告第6页共27页图6员工信息表E-R图(2)全局ER图,如图7示:图7全局E-R图3.1.6 数据字典(1)数据结构部门信息表(表一)列名说明字段类型约束控制部门名称小同员,有小同部门nchar(10)非空部门编号所属部门编号16级int可以为空级别信息表(表二)wr字段类型约束控制数据库程设计报告第7页共27页级别对应的级别为15级int非空级别名称员工的具体职位nchar(10)可以为空技能信息表(表三)列名说明字段类型约束控制技能编

8、号对应的技能为15种nchar(10)非空技能名称不同职位负责小向工作nchar(10)可以为空考勤信息表(表四)列名说明字段类型约束控制员工编号对应的级别为15int非空状态编号员工工作的三种状态13(上班、缺勤、早退)int可以为空上班时间8:00-11:00nchar(20)可以为空下班时间13:00-18:00nchar(20)可以为空日期匹配具体时间Date可以为空员工技能表(表五)列名说明字段类型约束控制员工编号对应的级别为15int可以为空技能编号对应的技能为15种int可以为空贝工怎息表(表八)列名说明字段类型约束控制级别对应的级别为15级int非空员工编号不同职位的员工编号i

9、nt非空密码独立存在用于登陆int非空部门编号部门编号15int可以为空姓名员工的姓名nchar(10)可以为空性别性别(男,女)nchar(10)可以为空年龄员工的年龄int可以为空:邮箱联系方式nchar(10)可以为空住址员工的家庭住址nchar(10)可以为空电话联系方式nchar(10)可以为空;进入公司日期入职时间nchar(10)可以为空学历员工的学历(.)nchar(10)可以为空政治面貌团员、党员、群众nchar(10)可以为空状态信息表(表七)列名说明字段类型约束控制状态编号对应的上班状态int非空状态名称上班、矿工、早退nchar(10)可以为空(3)数据流数据库程设计报

10、告第8页共27页数据流简述:查询员工基础信息数据流来源:员工信息存储数据流去向:员工信息模块数据流组成:级别+员工编号+密码+部门编号+姓名+性别+年龄+邮箱+住址+电话+进入公司时间+学历+政治面貌数据流简述:添加/删除/修改员工基础信息数据流来源:登录用户请求处理数据流去向:员工信息模块数据流组成:级别+员工编号+密码+部门编号+姓名+性别+年龄+邮箱+住址+电话+进入公司时间+学历+政治面貌数据流简述:查询艘索部门信息数据流来源:员工信息存储数据流去向:员工信息管理模块数据流组成:部门信息+级别+技能+考勤+状态数据流简述:添加/删除/修改部门信息数据流来源:登录用户请求处理数据流去向:

11、员工信息管理模块数据流组成:部门信息+级别+技能+考勤+状态数据流简述:查询考勤信息数据流来源:考勤信息存储数据流去向:员工信息管理模块数据流组成:部门编号+级别+状态数据流简述:添加/删除考勤信息数据流来源:登录用户请求处理数据流去向:员工信息管理模块数据流组成:部门编号+级别+状态数据流简述:登录信息数据流来源:用户登录请求处理数据流去向:登录模块数据流组成:用户名+密码数据流简述:查询员工考勤人数信息数据流来源:登录用户请求处理数据流去向:员工信息管理模块数据流组成:男生人数+女生人数(4)数据存储数据存储名:用户信息简述:存放登录系统时需要的用户的信息数据存储组成:用户名+密码关键字:

12、用户名数据存储名:部门信息简述:存放公司所有部门的信息数据存储组成:部门编号+级别号+级别技能+员工编号关键字:员工编号数据存储名:考勤信息简述:存放公司考勤的信息数据存储组成:部门编号+级别编号+员工编号+状态编号关键字:员工编号+状态编号数据存储名:员工信息简述:存放公司员工的信息数据存储组成:级别+员工编号+密码+部门编号+姓名+性别+年龄+邮箱+住址+电tg+进入公司时间+学历+政治面貌关键字:员工编号数据库程设计报告第9页共27页(5)处理过程处理过程名:搜索员工输入数据:员工编号输出数据:级别+员工编号+密码+部门编号+姓名+性别+年龄+邮箱+住址+电话+进入公司时间+学历+政治面

13、貌处理逻辑:按照员工编号查找员工信息和与其对应的部门信息,之后输出数据处理过程名:添加/修改员工输入数据:添加/修改员工信息输出数据:添加/修改是否成功的信息处理逻辑:用户输入要添加/修改的员工信息,数据库在确认员工信息是否合法之后给出添加/修改成功或失败的提示处理过程名:查询员工输入数据:申请查询信息输出数据:查询员工信息处理逻辑:按照员工编号的递增顺序输出存储的员工信息处理过程名:查询部门输入数据:申请查询信息输出数据:查询部门信息处理逻辑:按照部门编号的递增顺序输出存储的部门信息处理过程名:用户登录输入数据:用户名+密码输出数据:登录是否成功的信息处理逻辑:先检测用户名是否存在,若不存在

14、则提示“用户名不存在”,若用户名存在则核对其对应密码是否正确,正确则显示登录成功,跳转系统主页,否则提示登录失败处理过程名:查询部门考勤人数输入数据:部门编号输出数据:打卡人数处理逻辑:用户输入要查询员工打卡人数的部门编号,若输入的部门编号存在则调用存储过程,返回打卡的人数,之后以提示方式给出,否则提示输入有误并需要重新输入3.2 概要设计3.2.1 关系模式以下为本系统数据库的数据关系模型,下划直线标明的是关系模式的主码。部门信息表(部门编号,部门信息)级别信息表(级别编号,级别名称)技能信息表(技能编号,技能名称)考勤记录表(员工编号,状态编号,上班时间,下班时间,日期)员工技能表(员工编

15、号,技能编号)状态信息表(状态编号,状态名称)员工信息表(级别编号,员工编号,部门编号,密码,性别,姓名,年龄,电话,邮箱,住址,进入公司时间,学历,政治面貌)数据库程设计报告第10页共27页其中部门信息表对应部门基本关系,员工信息表对应员工基本关系,级别信息表对应级别基本关系,状态信息表对应员工考勤基本情况,技能信息表对应员工基本技能,员工技能信息表对应技能与员工之间的关系,考勤信息表对应员工与员工打卡状态之间的关系。3.2.2 功能图(1)系统功能结构图,如图8示:里单位考勃系彝虹功能施身snT前浙图8系统功能结构图3.3 详细设计3.3.1 数据库SQLServer2014数据库文件分为

16、3种类型:主数据文件、次数据文件和日志文件。数据库名(DBO):timebookDB文件位置(File):D:ProgramFilesMicrosoftSQLServerMSSQL12.MSSQLSERVERMSSQLDATA连接数据库:StringconStr="jdbc:sqlserver:127.0.0.1:1433;databaseName=timebookDB"CREATEDATABASEtimebookDBCONTAINNMNT=NONEONPRIMARY(NAME='timebookDB',FILENAME='D:ProgramFile

17、sMicrosoftSQLServerMSSQL12.MSSQLSERVERMSSQLDATAtimebookDB.mdfSIZE=5120KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)LOGON(NAME='timebookDB_log',FILENAME='D:ProgramFilesMicrosoftSQLServerMSSQL12.MSSQLSERVERMSSQLDATAtimebookDB_log.ldfSIZE=2560KB,MAXSIZE=UNLIMITED,FILEGROWTH=2048KB,FILEGROWTH=10%)

18、GO数据库程设计报告第11页共27页3.3.2(1)用sql语句创建部门信息表:USEtimebookDBGOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLEdbo.部门信息表(部门名称nchar(10)NOTNULL,部门编号intNOTNULL,CONSTRAINTPK_Table_1PRIMARYKEYCLUSTERED(部门编号ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCK

19、S=ON)ONPRIMARY)ONPRIMARYGO部门信息表(表一)列名字段类型是否可为空部门名称nchar(10)非空部门编号int非空(2)用sql语句创建级别信息表:USEtimebookDBGOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLEdbo.级别信息表(级别intNOTNULL,级别名称nchar(10)NULL,CONSTRAINTPK_级别信息表PRIMARYKEYCLUSTERED(级另ijASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KE

20、Y=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ONPRIMARY)ONPRIMARYGO级别信息表(表二)列名约束字段类型是否可为空级别编号主键int非空级别名称nchar(10)可以为空(3)用_sqL语句创MS能«表;数据库程设计报告第12页共27页'"USEtimebookbBjGOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLEdbo.技能信息表(技能编号nchar(10)NOTNULL,技能名称nchar(10)NULL,CONSTRAINTPK_技能信息表

21、PRIMARYKEYCLUSTERED(技能编号ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ONPRIMARY)ONPRIMARYGO技能信息表(表三)列名约束字段类型是否可为空技能编号主键nchar(10)非空技能名称nchar(10)可以为空(4)用sql语句创建考勤信息表:USEtimebookDBGOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLEdbo.考勤记

22、录表(员工编号intNOTNULL,状态编号intNOTNULL,上班时间nchar(20)NULL,下班时间nchar(20)NULL,日期nchar(20)NULL,CONSTRAINTPK_Table_1_1PRIMARYKEYCLUSTERED(员工编号ASC,状态编号ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ONPRIMARY)ONPRIMARYGOALTERTABLEdbo.考勤记录表WITHCHECKADDC

23、ONSTRAINTFK_考勤记录表_状态信息表FOREIGNKEY(状态编号)REFERENCESdbo.状态信息表(状态编号)GO数据库程设计报告第13页共27页ALTER-TABLEdboT%可疥也CHEckCONsTRAINTiFK1考肺己录表一二状态信息表GO考勤信息表(表四)列名约束字段类型是否可为空员工编号主键int非空状态编号主键int非空上班时间nchar(20)可以为空下班时间nchar(20)可以为空日期Date可以为空(5)用sql语句创员工技能信息表:USEtimebookDBGOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREA

24、TETABLEdbo.员工技能表(员工编号intNOTNULL,技能编号intNOTNULL,CONSTRAINTPK_Table_1_2PRIMARYKEYCLUSTERED(员工编号ASC,技能编号ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ONPRIMARY)ONPRIMARYGO员工技能表(表五)列名约束字段类型是否可为空员工编号主键int非空技能编号主键int非空(6)用sql语句创建员工信息表:USEtimebo

25、okDBGOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLEdbo.员工信息表(级别intNOTNULL,员工编号intNOTNULL,密码intNULL,数据库程设计报告第14页共27页-一SnSrg#"intNOT-NULL,一姓名nchar(10)NULL,性另Jnchar(10)NULLCONSTRAINTdf_性另DEFAULT('男'),年龄intNULL,邮箱nchar(10)NULL,住址nchar(10)NULL,电话nchar(10)NULL,进入公司日期ncha(10)NULL,学历ncha

26、r(10)NULL,政治面貌nchar(10)NULL,CONSTRAINTPK_Table_1_3PRIMARYKEYCLUSTERED(级另ijASC,员工编号ASC,部门编号ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ONPRIMARY)ONPRIMARYGOALTERTABLEdbo.员工信息表WITHCHECKADDCONSTRAINTFK_员工信息表部门信息表FOREIGNKEY(部门编号)REFERENCESd

27、bo.部门信息表(部门编号)GOALTERTABLEdbo.员工信息表CHECKCONSTRAINTFK_员工信息表部门信息表GOALTERTABLEdbo.员工信息表WITHCHECKADDCONSTRAINTFK_员工信息表级别信息表FOREIGNKEY(级别)REFERENCESdbo.级另U信息表(级另U)GOALTERTABLEdbo.员工信息表CHECKCONSTRAINTFK_员工信息表级别信息表GO员工信息表(表六)列名约束字段类型是否可为空级别主键int非空员工编号主键int非空密码int非空部门编号主键int非空姓名nchar(10)可以为空性别nchar(10)可以为空年

28、龄int可以为空邮箱nchar(10)可以为空住址nchar(10)可以为空电话nchar(10)可以为空进入公司日期nchar(10)可以为空学历nchar(10)可以为空数据库程设计报告第15页共27页政治面貌nchar(10)可以为空(7)用sql语句创建员工状态信息表:USEtimebookDBGOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLEdbo.状态信息表(状态编号intNOTNULL,状态名称nchar(10)NULL,CONSTRAINTPK_状态信息表PRIMARYKEYCLUSTERED(状态编号ASC)WITH(

29、PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ONPRIMARY)ONPRIMARYGO状态信息表(表七)列名约束字段类型是否可为空状态编号主键int非空状态名称nchar(10)可以为空(8)视图、触发器、存储过程、约束创建视图分组查询各部门的职工信息及职工人数,使用Compute子句;usetimebookDBgocreateviewwfmasselectdistinct部门信息表.部门名称,部门信息表.部门编号,姓名,年龄,性别,学历fr

30、om部门信息表,员工信息表where部门信息表.部门编号=员工信息表.部门编号selectdistinct部门信息表.部门名称,部门信息表.部门编号,姓名,年龄,性别,学历from部门信息表,员工信息表where部门信息表.部门编号=员工信息表.部门编号orderby部门信息表.部门名称computecount(部门信息表.部门编号)by部门信息表.部门名称go创建触发器,如果打卡时间超出上班时间,并且小于5分钟,登记为迟到,否则登记为旷工;createTriggertrion考勤记录表AFTERinsert数据库程设计报告第16页共27页ASdeclarebeginint,timeint,c

31、qchar(10)selectcq/工编号frominsertedselectbegin=上班时间frominsertedselect1而3=下班时间from考勤记录表if(begin-time)<5and(begin-time)>0update考勤记录表set状态编号='3'where员工编号=cqand上班时间=beginif(begin-time)<0update考勤记录表set状态编号='1'where员工编号=cqand上班时间=beginif(begin-time)>5update考勤记录表set状态编号='2'

32、;where员工编号=cqand上班时间=begin创建存储过程统计各员工指定月份的缺席、旷工次数;usetimebookDBgocreateprocedurepro_10(日期date)asbeginselect员工信息表.员工编号,员工信息表.姓名,count(员工信息表.员工编号)-count(考勤记录表.员工编号)缺席from员工信息表,考勤记录表where员工信息表.员工编号=考勤记录表.员工编号groupby员工信息表.员工编号,员工信息表.姓名endgo创建check约束,限制员工的性别必须为男或女;altertable员工信息表withcheckaddconstraintdf_

33、性别default'男'for性别(9)执行完上述操作,得到如下界面,如图12示:日fjtirriebookDB国U数据库关东园口表田口亲珠表+1FileTables出3dbd部门信息噂田口db口,线副信息表田口dbo.技信息表国二dbo,考勤记录表田a孤口.左己变能表E3*6员工信息蓑图12数据库详情(10)表与表之间关系模式图,如图13示:数据库程设计报告第17页共27页图13关系模式图3.3.3主流程图(1)主系统流程图,如图9示:主界面:图9主系统流程图数据库程设计报告第18页共27页舞系统考勤彳:“理系统考勤门管理系统短理费鼬图10主界面(2)员工信息管理界面功能,员

34、工查询功能如图11示:图11员工查询功能流程图界面如图12示:数据库程设计报告第19页共27页涉迎2宏”员工考勤亘百个人信息修改维护个人信息群助|员工个人信息如下I员工编号性到年的部门名称级别名称邮箱12222男16市场部酉通员工122图12查询员工信息(3)员工信息管理界面功能,修改员工信息功能如图13示:图13修改员工信息界面如图14所示:性别;女员工信息陛改成劝:I:!邰箱确定图14修改员工信息(4)员工信息管理界面功能,员工考勤功能如图15示:数据库程设计报告第20页共27页图15员工考勤功能界面如图16所示:曲定隋息醯欧迎2222员工/匍£不£看个人信£

35、悔改维护个A信息fli丽HIT员工考勒系统FB息查询员工编号姓名状态告林上班时间不班时间日期2222小花正常上班19:5722:21202M709图16员工考勤界面(5)管理员界面管理功能,查询员工考勤流程图如图17示:数据库程设计报告第21页共27页图17管理员查询流程图界面如图18所示:员工信息管理一函员工亲跚老勒信良查闻ffiftJj起的日翻:20200101鳍重日期:Z020Q9C9考勤装图:|正常上班|查间范围;全公司员工编:E3nj部门:期另小查员工编号姓名状杰名称部门名称上班时间下班时间臼期二2王凤鸣正常上班行政部02U21:5320200708尼。如死正常上班人事部20:292

36、0:3020200620121制制前正宇上班财务部00:49C0:00202Q07CS)04小王同学正常上班计划部02:0000:00202007081111小茶正常上班财务部1E:101S:1020200709>222R症正常上班布焉都16:5722:2120200709旧S王美丽正常上班稍售部01:46。:0。20200708图18管理员查询界面(6)管理员界面管理功能,录入员工流程图如图19示:数据库程设计报告第22页共27页图19管理员录入员工信息流程图界面如图20所示:性别:胃学此|专程以下|年嗜(*、用.一而皿.哈昂渣修员工注册成功!!:!确定4*千。*nr图20员工录入界面

37、(7)管理员界面管理功能,修改员工考勤流程图如图21示:第23页共27页M刑ft!数据库程设计报告4.系统实现图21修改员工信息流程图界面如图22所示:员工编号:2222图22修改员工信息界面员工信息管理骊员工逆明考lh信息查i旬帮助级别员工编岩姓名性到年龄部门名称级别名称由康小1工女16市场部V1姓名二第24页共27页数据库程设计报告4.1 编码4.1.1 系统环境操作系统:Windows10选用模式:C/S客户端DBMS:sqlserver2014开发语日:Java开发平台:Myeclipse10数据库管理工具:sqlserver20144.1.2 客户端界面关键代码:(1)连接数据库pu

38、blicDbConnect()tryClass.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");catch(ClassNotFoundExceptionex)ex.printStackTrace();publicConnectiongetConn()Connectionconn=null;StringconStr="jdbc:sqlserver:/127.0.0.1:1433;databaseName=timebookDB"tryconn=DriverManager.getConnectio

39、n(conStr,"sa","sa");catch(SQLExceptionex)ex.printStackTrace();(2)修改密码privatevoidinitialize。this.setSize(401,350);this.setContentPane(getJContentPane();this.setTitle("更改密码");publicvoidchStuPass()if(ID.getText().length()+oldPasswordain.getText()length()=0)JOptionPane.show

40、MessageDialogif(!newPassword.getText().equals(getText()le.ngth()+newPassword(this,"输入信息不完整。");return;newAgaingetiext()getText()l.Iength()+newAg数据库程设计报告第25页共27页JOptionPane.showMessageDialog(null,"新密码不一致。");return;try/*Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connect

41、ionconnection=DriverManager.getConnection("jdbc:odbc:stu","sa","123456");*/DbConnectdb=newDbConnect();Connectionconnection=db.getConn();Statementstatement=connection.createStatement();ResultSetrs=statement.executeQuery("select*from员工信息表where员工编号='"+ID.getT

42、ext()+"'and密码='"+oldPassword.getText()+"'");if(!rs.next()JOptionPane.showMessageDialog(this,"ID或密码错误!");return;rs.close();statement.executeUpdate("update员工信息表set密码='"+newPassword.getText()+"'where员工编号='"+ID.getText()+"

43、9;");statement.close();connection.close();JOptionPane.showMessageDialog(null,"修改密码成功!");catch(Exceptionee)JOptionPane.showMessageDialog(null,ee.getMessage()+"与数据库连接失败");return;4.2 测试及调试4.2.1select查询(1)在数据库中查询正常上班(状态编号为1)的员工名单,运行结果如图23示:select*from考勤记录表where状态编号='1'10

44、C%一结果消息员工混号状态编号上班时间下班日小司日期13102:19010020ZQ070021211O:4901:00202007083222121:532Q2QQ7QQ488012LH292D13U20200820904102;00:00zoaaoFoa69991Q1:沙E2020070S图23查询考勤记录(2)调用前端程序,查询正常上班的员工名单,看员工名单是否一致,运行结果如图24示:第26页共27页数据库程设计报告数据库程设计报告第27页共27页194.2.4update语句(1)在sql中用update更新一组员工技能信息在员工技能表中,运行结果如图29示:update员工技能表set技能编号=2where员工编号=202I灵I晶号而褊吏衿技能得42022I2023师.|LAPTOP-D80FNG3B(12.0RTM)sa0用timebookOBQ图20更新数据(2)在客户端对员工编号为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论