最新SQL考勤管理系统.doc

上传人:1595****071 文档编号:47524166 上传时间:2022-10-02 格式:DOC 页数:37 大小:2.87MB
返回 下载 相关 举报
最新SQL考勤管理系统.doc_第1页
第1页 / 共37页
最新SQL考勤管理系统.doc_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《最新SQL考勤管理系统.doc》由会员分享,可在线阅读,更多相关《最新SQL考勤管理系统.doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateSQL考勤管理系统一、成 绩 评 定 表学生姓名黄一民班级学号1009010229专 业信息与计算科学课程设计题目考勤管理系统评语组长签字:成绩日期 2012年 月 日课程设计(论文)任务书学 院理学院专 业信息与计算科学学生姓名黄一民班级学号1009101229课程名称数据库原理课程设计课 程 设 计(论文)题目考勤管理系统设计内容及要求:将主窗体设为MDIForm

2、1,含有主菜单:文件、数据管理、数据查询。具体功能包括:1、用户的登录和注册功能。2、数据管理功能:实现职工上、下班刷卡信息、加班信息和请假信息的查询、修改、添加和删除功能,并且支持表格显示进行浏览。3、数据查询功能:实现职工上、下班刷卡信息、加班信息和请假信息的多条件选择的模糊查询,用DataGrid呈现查询信息。计划与进度安排:第18周:系统需求分析,设计E-R模型、逻辑模型,数据库设计和模块设计进行部分软件编码设计,实现各模块功能第19周: 继续完成软件设计,调试与完善系统各项功能书写课程设计报告。验收与答辩。成绩:指导教师(签字):年 月 日专业负责人(签字):年 月 日主管院长(签字

3、) 年 月 日 -摘 要 本设计旨在开发一个考勤管理系统。在开发过程中包括后台数据库的建立和维护以及前端应用程序的开发两个方面。本文简要介绍了考勤管理系统从设计到开发的过程。首先,通过需求分析,最终决定针企业员工的考勤管理系统的实际情况,结合具体工作环境要求和工作实际,在WINDOWS操作系统环境下,采用Visual Bisic和SQL server 2000设计考勤管理系统;其次,根据员工考勤的实际情况划分该系统的功能模块;介绍整个系统功能模块中用到的数据库以及数据流程。关键词:考勤管理;SQL server 2000;VB目 录第1章 系统功能概述1.1 系统功能1.2 功能模块划分第2章

4、 数据库设计2.1 需求分析2.2 E-R模型2.3 关系模型2.4 表结构设计第3章 系统各功能模块的详细设计3.1 进入系统页面:3.2 注册页面:3.3 登录页面:3.4 主控页面:3.5 编辑页面:3.6 查询页面:3.7 数据修改:总 结参考文献第1章 系统功能概述1.1 系统功能掌握数据库的创建方法,掌握用一种语言开发数据库应用程序的方法。本考勤管理系统是为企业员工录入数据并方便查询的数据库系统,此系统主要功能模块包括:登陆管理模块,数据管理模块,数据查询模块。本系统采用SQL server 2000作为后台数据库,这样是数据能够得到统一,并增强了管理的安全性。1.2 功能模块划分

5、考勤管理系统进入系统数据管理数据查询登录新用户注册退出刷卡记录登记加班登记请假登记刷卡登记信息加班登记信息请假登记信息图1.1第2章 数据库设计2.1 需求分析需求分析是软件生存周期中重要的一步。只有通过需求分析才能把软件功能和性能的总体概念描述为具体上的软件需求规格说明,从而奠定软件开发的基础。软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。2.2 E-R模型刷卡记录上班日期下班日期下班员工号下班刷卡时间上班刷卡时间上班员

6、工号图2.1 刷卡记录实体属性图加班信息员工编号加班原因加班日期加班时数图2.2 加班信息实体属性图请假信息请假时数请假原因员工编号请假日期图2.3 请假信息实体属性图系统信息用户名密码图2.4 系统信息实体属性图 加班信息管理刷卡信息 员工信息管理管理请假信息n111nn图2.5 全局关系 E-R图2.3 关系模型一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。根据E-R图向关系模型转换的原则,把2.2中的E-R图转换为关系模型。关系的码用下横线标出。 1)刷卡记录信息:(时间记录,日期、职员编号、刷卡时间)2)加班管理:(职员编号、加班日期、加班时数、加班原因

7、)3)请假管理:(编号、请假日期、请假时数、请假原因)4)系统信息(用户名、密码)2.4 表结构设计2.1密码表列名数据类型长度允许空用户名varchar50主码,非空密码varchar80可空密码表里输入的结果如下:图2.6表2.2 员工信息表表列名数据类型长度允许空员工工号varchar10主码,非空员工姓名varchar10可空员工新别varchar4可空员工年龄Varchar4可空员工信息表里输入的结果如下:图2.72.3刷卡表列名数据类型长度允许空员工工号varchar10主码,非空上班刷卡时间varchar10可空上班刷卡日期Datetime8可空下班刷卡时间varchar10可空

8、下班刷卡日期Datetime8可空刷卡表里输入的结果如下:图2.8表2.4加班表列名数据类型长度允许空员工工号varchar10主码,非空加班时数varchar10可空加班日期Datetime8可空加班原因varchar8000可空加班表里输入的结果如下:图2.9表2.5 请假表列名数据类型长度允许空员工工号Varchar10主码,非空请假时间Varchar8可空请假日期Datetiome8可空请假原因Varchar8000可空请假表里输入的结果如下:2.10第3章 系统各功能模块的详细设计3.1 进入系统页面:图3.13.2 注册页面:注册代码:Private Sub CmdOk_Click

9、()Dim sqlstr As StringIf Text1 = ThenMsgBox 请输入用户名!, vbExclamation, 确认用户名 Text1.SetFocus Exit SubElse sqlstr = Select * from 系统信息 where 用户名= & Text1.Text & Adodc1.RecordSource = sqlstr Adodc1.Refresh If Adodc1.Recordset.EOF = False Then MsgBox 用户名已存在,请重新输入!, vbExclamation, 检验用户名 Text1 = Text1.SetFoc

10、us Exit Sub End IfEnd If判断二次输入密码是否一致:If Text2.Text Text3.Text Then MsgBox 二次输入的密码不一致,请重新输入, vbExclamation, 检验密码 Text2 = : Text3 = Text2.SetFocus Exit SubElseIf Text2 = Then MsgBox 密码不能为空!, vbExclamation, 检验密码 Text2.SetFocusElse Adodc1.Recordset.AddNew Adodc1.Recordset.Fields(用户名) = Trim(Text1) Adodc

11、1.Recordset.Fields(密码) = Trim(Text2) Adodc1.Recordset.Update Me.Hide MsgBox 成功注册新用户!, vbInformation, 添加用户End IfEnd Sub操作如下:注册新用户“jianglijun”,再使用这个新用户登录。 图3.2 图3.33.3 登录页面:登录代码:Dim miCount As Integer 用于记录输入密码次数Private Sub CmdLand_Click()Dim sqlstr As Stringsqlstr = Select * From 系统信息 Where 用户名= & Tex

12、t1.Text & Adodc1.RecordSource = sqlstrAdodc1.RefreshIf Adodc1.Recordset.BOF Then 若没找到符合Where条件的记录MsgBox 用户名错误,重新输入, vbExclamation, 警告Text1.Text = Text1.SetFocus Text1获得焦点Else 判断密码是否正确If Adodc1.Recordset.Fields(密码) = Text2.Text Then主控页面.ShowUnload MeElseMsgBox 密码错误,重新输入 , vbExclamation, 警告Text2.Text

13、= Text2.SetFocusEnd IfEnd IfmiCount = miCount + 1If miCount = 3 Then Unload MeForm3.ShowEnd Sub图3.43.4 主控页面:Private Sub 刷卡记录登记_Click()End SubPrivate Sub ygjbxixs_Click()员工基本信息显示.ShowEnd SubPrivate Sub ygjbxxxg_Click()员工基本信息修改.ShowEnd SubPrivate Sub 加班登记_Click()加班登记表.ShowEnd SubPrivate Sub 加班信息查询_Cli

14、ck()加班信息查询表.ShowEnd SubPrivate Sub 请假登记_Click()请假登记表.ShowEnd SubPrivate Sub 请假信息查询_Click()请假信息查询表.ShowEnd SubPrivate Sub 上班刷卡记录登记_Click()上班刷卡登记记录.ShowEnd SubPrivate Sub 刷卡信息登记_Click()End SubPrivate Sub 刷卡登记信息_Click()End SubPrivate Sub 刷卡信息查询_Click()刷卡信息查询表.ShowEnd SubPrivate Sub 退出_Click()EndEnd Sub

15、Private Sub 下班刷卡记录登记_Click()下班刷卡登记记录.ShowEnd SubPrivate Sub 员工基本信息修改_Click()员工基本信息修改.ShowEnd SubPrivate Sub 注册_Click()注册界面.ShowEnd Sub图3.5主控页面中包括文件,数据管理,数据查询,员工基本信息修改,员工基本信息显示;文件的子菜单有注册新用户,退出;数据管理的子菜单有上班刷卡信息,下班刷卡信息,加班信息,请假信息。数据查询的子菜单有刷卡信息查询,加班信息查询,请假信息查询。菜单设计如下:图3.63.5 编辑页面:这个页面上可以显示所有的记录数,同时还可以进行添加

16、,删除,前后移动记录数的功能。添加按钮代码: Private Sub CmdAdd_Click() 添加按钮的单击事件 Adodc1.Recordset.AddNew CmdAdd.Enabled = False CmdDel.Enabled = False CmdOk.Enabled = True CmdEsc.Enabled = TrueEnd Sub确认按钮代码:Private Sub CmdOk_Click() 单击确认按钮Adodc1.Recordset.UpdateCmdAdd.Enabled = TrueCmdDel.Enabled = TrueCmdOk.Enabled = F

17、alseCmdEsc.Enabled = FalseEnd Sub删除按钮代码:Private Sub CmdDel_Click() 单击删除按钮x = MsgBox(确实要删除当前记录吗?, vbYesNo + vbQuestion, 确认)If x = vbYes ThenAdodc1.Recordset.DeleteAdodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLastEnd If取消按钮代码: Private Sub CmdEsc_Click() 取消按钮Adodc1.Refresh

18、CmdAdd.Enabled = TrueCmdDel.Enabled = TrueCmdOk.Enabled = FalseCmdEsc.Enabled = FalseEnd Sub首记录按钮代码:Private Sub CmdFirst_Click()Adodc1.Recordset.MoveFirst 记录指针移到首记录(显示首记录)CmdFirst.Enabled = False 让首记录按钮无效CmdPre.Enabled = False 让前移按钮无效CmdNext.Enabled = True 让后移按钮有效CmdLast.Enabled = True 让末记录按钮有效在Labe

19、l6上显示当前记录号/记录总数:Label6.Caption = 记录: & Adodc1.Recordset.AbsolutePosition & / & Adodc1.Recordset.RecordCountEnd Sub前移按钮代码:Private Sub CmdPre_Click()Adodc1.Recordset.MovePrevious 记录指针移到前一条记录CmdNext.Enabled = TrueCmdLast.Enabled = TrueIf Adodc1.Recordset.BOF Then 如果记录指针移到首记录之前,Adodc1.Recordset.MoveFirs

20、t 则记录指针移到首记录上CmdFirst.Enabled = FalseCmdPre.Enabled = FalseEnd IfLabel6.Caption = 记录: & Adodc1.Recordset.AbsolutePosition & / & Adodc1.Recordset.RecordCountEnd Sub后移按钮代码:Private Sub CmdNext_Click()Adodc1.Recordset.MoveNext 记录指针移到下一条记录CmdFirst.Enabled = TrueCmdPre.Enabled = TrueIf Adodc1.Recordset.EO

21、F Then 如果记录指针移到了末记录之后 Adodc1.Recordset.MoveLast 则记录指针移到末记录上 CmdNext.Enabled = False CmdLast.Enabled = FalseEnd IfLabel6.Caption = 记录: & Adodc1.Recordset.AbsolutePosition & / & Adodc1.Recordset.RecordCountEnd Sub末记录按钮代码:Private Sub CmdLast_Click() Adodc1.Recordset.MoveLast 移到末记录 CmdFirst.Enabled = Tr

22、ue CmdPre.Enabled = True CmdNext.Enabled = False CmdLast.Enabled = FalseLabel6.Caption = 记录: & Adodc1.Recordset.AbsolutePosition & / & Adodc1.Recordset.RecordCountEnd Sub移动记录数按钮代码:Private Sub CmdN_Click()Dim n As Integern = Text6.TextAdodc1.Recordset.Move nLabel6.Caption = 记录: & Adodc1.Recordset.Abs

23、olutePosition & / & Adodc1.Recordset.RecordCountEnd Sub图3.73.6 查询页面:查询页面可以通过各种查询条件对所需要的结果进行筛选,从而得到自己所需要的结果。刷卡信息查询代码如下:Private Sub Command1_Click()Dim str As Stringstr = Select * From 刷卡表 Where 刷卡表. & Combo1.Text & like & Text2.Text & %Adodc1.RecordSource = strAdodc1.RefreshEnd SubPrivate Sub Command

24、2_Click()MDIForm1.ShowUnload MeEnd SubPrivate Sub Form_Load()Combo1.AddItem 员工工号 为组合列表框添加各选项Combo1.Text = 清空文本框End SubPrivate Sub Text1_Change()End Sub图3.8加班信息表的查询代码如下:Private Sub Command1_Click()Dim str As Stringstr = Select * From 加班表 Where 加班表. & Combo1.Text & like & Text1.Text & %Adodc1.RecordSo

25、urce = strAdodc1.RefreshEnd SubPrivate Sub Command2_Click()MDIForm1.ShowUnload MeEnd SubPrivate Sub Form_Load()Combo1.AddItem 员工工号 为组合列表框添加各选项Combo1.Text = 清空文本框End Sub图3.9请假信息表的查询代码如下:Private Sub Command1_Click()Dim str As Stringstr = Select * From 请假表 Where 请假表. & Combo1.Text & like & Text1.Text &

26、 %Adodc1.RecordSource = strAdodc1.RefreshEnd SubPrivate Sub Command2_Click()MDIForm1.ShowUnload MeEnd SubPrivate Sub Form_Load()Combo1.AddItem 员工工号 为组合列表框添加各选项Combo1.Text = 清空文本框End Sub图3.103.7 数据修改:员工基本信息修改表代码如下:Private Sub Command1_Click() 员工信息表.Adodc1.Recordset.Fields(员工工号) = Text1.Text 员工信息表.Ado

27、dc1.Recordset.Fields(员工姓名) = Text2.Text 员工信息表.Adodc1.Recordset.Fields(员工性别) = Combo1.Text 员工信息表.Adodc1.Recordset.Fields(员工年龄) = Text3.Text 员工信息表.Adodc1.Recordset.Update 员工信息表.Adodc1.Refresh MsgBox 修改成功!, vbInformation, 提示End SubPrivate Sub Command2_Click()Unload Me员工信息表.ShowEnd SubPrivate Sub Form_L

28、oad() Text1.Text = 员工信息表.Adodc1.Recordset.Fields(员工工号) Text2.Text = 员工信息表.Adodc1.Recordset.Fields(员工姓名) Text3.Text = 员工信息表.Adodc1.Recordset.Fields(员工年龄) Combo1.Text = 员工信息表.Adodc1.Recordset.Fields(员工性别) Combo1.AddItem 男 Combo1.AddItem 女 Combo1.Text = 男End Sub图3.11图3.12总 结通过这个程序的开发,我了解了做一个数据库开发设计的全过程

29、。从程序概念结构设计、VB窗体的建立、窗体连接数据库以及代码,经历了一个相对比较完整的过程。在整个设计过程中,遇到了很多的问题,虽然在处理问题的时候不能说是做的最好,但也收获不小,至少在知识的熟练掌握上还是相当满意的。不过由于现有知识水平的欠缺以及设计时间较短,加上还要做组成课程设计又是第一次做数据库的课程设计,所以该系统还有许多不完善的地方,比如功能实现不多、用户界面不够美观、出错处理不够好,没有删除功能等多方面问题。这些都有待进一步提高。但是我相信这次的课程设计将对我们以后的学习和生活有着非常积极的指导意义。参考文献1 王珊 . 数据库系统简明教程 . 北京. 高等教育出版社 . 20042 张立科 . VB数据库开发技术与工程实践 . 北京 . 人民邮电出版社 . 20043 钱雪忠 . 数据库原理及应用 . 北京 . 北京邮电大学出版社 . 20074 王珊 . 数据库技术与联机分析处理 . 北京 . 北京科学出版社 . 19985 张立科 . Visual Basic 6.0 数据库开发技术与工程实践 . 北京 . 人民邮电出版社 . 20036 郑阿奇 . SQL Server 教程 . 北京 . 清华大学出版社 . 2005

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁