SQL考勤管理系统.doc

上传人:仙人指路1688 文档编号:2395022 上传时间:2023-02-17 格式:DOC 页数:30 大小:2.74MB
返回 下载 相关 举报
SQL考勤管理系统.doc_第1页
第1页 / 共30页
SQL考勤管理系统.doc_第2页
第2页 / 共30页
SQL考勤管理系统.doc_第3页
第3页 / 共30页
SQL考勤管理系统.doc_第4页
第4页 / 共30页
SQL考勤管理系统.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《SQL考勤管理系统.doc》由会员分享,可在线阅读,更多相关《SQL考勤管理系统.doc(30页珍藏版)》请在三一办公上搜索。

1、成 绩 评 定 表学生姓名黄一民班级学号1009010229专 业信息与计算科学课程设计题目考勤管理系统评语组长签字:成绩日期 2012年 月 日课程设计(论文)任务书学 院理学院专 业信息与计算科学学生姓名黄一民班级学号1009101229课程名称数据库原理课程设计课 程 设 计(论文)题目考勤管理系统设计内容及要求:将主窗体设为MDIForm1,含有主菜单:文件、数据管理、数据查询。具体功能包括:1、用户的登录和注册功能。2、数据管理功能:实现职工上、下班刷卡信息、加班信息和请假信息的查询、修改、添加和删除功能,并且支持表格显示进行浏览。3、数据查询功能:实现职工上、下班刷卡信息、加班信息

2、和请假信息的多条件选择的模糊查询,用DataGrid呈现查询信息。计划与进度安排:第18周:系统需求分析,设计E-R模型、逻辑模型,数据库设计和模块设计进行部分软件编码设计,实现各模块功能第19周: 继续完成软件设计,调试与完善系统各项功能书写课程设计报告。验收与答辩。成绩:指导教师(签字):年 月 日专业负责人(签字):年 月 日主管院长(签字) 年 月 日 摘 要 本设计旨在开发一个考勤管理系统。在开发过程中包括后台数据库的建立和维护以及前端应用程序的开发两个方面。本文简要介绍了考勤管理系统从设计到开发的过程。首先,通过需求分析,最终决定针企业员工的考勤管理系统的实际情况,结合具体工作环境

3、要求和工作实际,在WINDOWS操作系统环境下,采用Visual Bisic和SQL server 2000设计考勤管理系统;其次,根据员工考勤的实际情况划分该系统的功能模块;介绍整个系统功能模块中用到的数据库以及数据流程。关键词:考勤管理;SQL server 2000;VB目 录第1章 系统功能概述1.1 系统功能1.2 功能模块划分第2章 数据库设计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 数据修改:总 结参考文

4、献第1章 系统功能概述1.1 系统功能掌握数据库的创建方法,掌握用一种语言开发数据库应用程序的方法。本考勤管理系统是为企业员工录入数据并方便查询的数据库系统,此系统主要功能模块包括:登陆管理模块,数据管理模块,数据查询模块。本系统采用SQL server 2000作为后台数据库,这样是数据能够得到统一,并增强了管理的安全性。1.2 功能模块划分考勤管理系统进入系统数据管理数据查询登录新用户注册退出刷卡记录登记加班登记请假登记刷卡登记信息加班登记信息请假登记信息图1.1第2章 数据库设计2.1 需求分析需求分析是软件生存周期中重要的一步。只有通过需求分析才能把软件功能和性能的总体概念描述为具体上

5、的软件需求规格说明,从而奠定软件开发的基础。软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。2.2 E-R模型刷卡记录上班日期下班日期下班员工号下班刷卡时间上班刷卡时间上班员工号图2.1 刷卡记录实体属性图加班信息员工编号加班原因加班日期加班时数图2.2 加班信息实体属性图请假信息请假时数请假原因员工编号请假日期图2.3 请假信息实体属性图系统信息用户名密码图2.4 系统信息实体属性图 加班信息管理刷卡信息 员工信息管理管理

6、请假信息n111nn图2.5 全局关系 E-R图2.3 关系模型一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。根据E-R图向关系模型转换的原则,把2.2中的E-R图转换为关系模型。关系的码用下横线标出。 1)刷卡记录信息:(时间记录,日期、职员编号、刷卡时间)2)加班管理:(职员编号、加班日期、加班时数、加班原因)3)请假管理:(编号、请假日期、请假时数、请假原因)4)系统信息(用户名、密码)2.4 表结构设计2.1密码表列名数据类型长度允许空用户名varchar50主码,非空密码varchar80可空密码表里输入的结果如下:图2.6表2.2 员工信息表表列名数

7、据类型长度允许空员工工号varchar10主码,非空员工姓名varchar10可空员工新别varchar4可空员工年龄Varchar4可空员工信息表里输入的结果如下:图2.72.3刷卡表列名数据类型长度允许空员工工号varchar10主码,非空上班刷卡时间varchar10可空上班刷卡日期Datetime8可空下班刷卡时间varchar10可空下班刷卡日期Datetime8可空刷卡表里输入的结果如下:图2.8表2.4加班表列名数据类型长度允许空员工工号varchar10主码,非空加班时数varchar10可空加班日期Datetime8可空加班原因varchar8000可空加班表里输入的结果如下

8、:图2.9表2.5 请假表列名数据类型长度允许空员工工号Varchar10主码,非空请假时间Varchar8可空请假日期Datetiome8可空请假原因Varchar8000可空请假表里输入的结果如下:2.10第3章 系统各功能模块的详细设计3.1 进入系统页面:图3.13.2 注册页面:注册代码:Private Sub CmdOk_Click()Dim sqlstr As StringIf Text1 = ThenMsgBox 请输入用户名!, vbExclamation, 确认用户名 Text1.SetFocus Exit SubElse sqlstr = Select * from 系统

9、信息 where 用户名= & Text1.Text & Adodc1.RecordSource = sqlstr Adodc1.Refresh If Adodc1.Recordset.EOF = False Then MsgBox 用户名已存在,请重新输入!, vbExclamation, 检验用户名 Text1 = Text1.SetFocus Exit Sub End IfEnd If判断二次输入密码是否一致:If Text2.Text Text3.Text Then MsgBox 二次输入的密码不一致,请重新输入, vbExclamation, 检验密码 Text2 = : Text3

10、 = Text2.SetFocus Exit SubElseIf Text2 = Then MsgBox 密码不能为空!, vbExclamation, 检验密码 Text2.SetFocusElse Adodc1.Recordset.AddNew Adodc1.Recordset.Fields(用户名) = Trim(Text1) Adodc1.Recordset.Fields(密码) = Trim(Text2) Adodc1.Recordset.Update Me.Hide MsgBox 成功注册新用户!, vbInformation, 添加用户End IfEnd Sub操作如下:注册新用

11、户“jianglijun”,再使用这个新用户登录。 图3.2 图3.33.3 登录页面:登录代码:Dim miCount As Integer 用于记录输入密码次数Private Sub CmdLand_Click()Dim sqlstr As Stringsqlstr = Select * From 系统信息 Where 用户名= & Text1.Text & Adodc1.RecordSource = sqlstrAdodc1.RefreshIf Adodc1.Recordset.BOF Then 若没找到符合Where条件的记录MsgBox 用户名错误,重新输入, vbExclamati

12、on, 警告Text1.Text = Text1.SetFocus Text1获得焦点Else 判断密码是否正确If Adodc1.Recordset.Fields(密码) = Text2.Text Then主控页面.ShowUnload MeElseMsgBox 密码错误,重新输入 , vbExclamation, 警告Text2.Text = Text2.SetFocusEnd IfEnd IfmiCount = miCount + 1If miCount = 3 Then Unload MeForm3.ShowEnd Sub图3.43.4 主控页面:Private Sub 刷卡记录登记_

13、Click()End SubPrivate Sub ygjbxixs_Click()员工基本信息显示.ShowEnd SubPrivate Sub ygjbxxxg_Click()员工基本信息修改.ShowEnd SubPrivate Sub 加班登记_Click()加班登记表.ShowEnd SubPrivate Sub 加班信息查询_Click()加班信息查询表.ShowEnd SubPrivate Sub 请假登记_Click()请假登记表.ShowEnd SubPrivate Sub 请假信息查询_Click()请假信息查询表.ShowEnd SubPrivate Sub 上班刷卡记录

14、登记_Click()上班刷卡登记记录.ShowEnd SubPrivate Sub 刷卡信息登记_Click()End SubPrivate Sub 刷卡登记信息_Click()End SubPrivate Sub 刷卡信息查询_Click()刷卡信息查询表.ShowEnd SubPrivate Sub 退出_Click()EndEnd SubPrivate Sub 下班刷卡记录登记_Click()下班刷卡登记记录.ShowEnd SubPrivate Sub 员工基本信息修改_Click()员工基本信息修改.ShowEnd SubPrivate Sub 注册_Click()注册界面.Show

15、End Sub图3.5主控页面中包括文件,数据管理,数据查询,员工基本信息修改,员工基本信息显示;文件的子菜单有注册新用户,退出;数据管理的子菜单有上班刷卡信息,下班刷卡信息,加班信息,请假信息。数据查询的子菜单有刷卡信息查询,加班信息查询,请假信息查询。菜单设计如下:图3.63.5 编辑页面:这个页面上可以显示所有的记录数,同时还可以进行添加,删除,前后移动记录数的功能。添加按钮代码: Private Sub CmdAdd_Click() 添加按钮的单击事件 Adodc1.Recordset.AddNew CmdAdd.Enabled = False CmdDel.Enabled = Fal

16、se CmdOk.Enabled = True CmdEsc.Enabled = TrueEnd Sub确认按钮代码:Private Sub CmdOk_Click() 单击确认按钮Adodc1.Recordset.UpdateCmdAdd.Enabled = TrueCmdDel.Enabled = TrueCmdOk.Enabled = FalseCmdEsc.Enabled = FalseEnd Sub删除按钮代码:Private Sub CmdDel_Click() 单击删除按钮x = MsgBox(确实要删除当前记录吗?, vbYesNo + vbQuestion, 确认)If x

17、= vbYes ThenAdodc1.Recordset.DeleteAdodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLastEnd If取消按钮代码: Private Sub CmdEsc_Click() 取消按钮Adodc1.RefreshCmdAdd.Enabled = TrueCmdDel.Enabled = TrueCmdOk.Enabled = FalseCmdEsc.Enabled = FalseEnd Sub首记录按钮代码:Private Sub CmdFirst_Click(

18、)Adodc1.Recordset.MoveFirst 记录指针移到首记录(显示首记录)CmdFirst.Enabled = False 让首记录按钮无效CmdPre.Enabled = False 让前移按钮无效CmdNext.Enabled = True 让后移按钮有效CmdLast.Enabled = True 让末记录按钮有效在Label6上显示当前记录号/记录总数:Label6.Caption = 记录: & Adodc1.Recordset.AbsolutePosition & / & Adodc1.Recordset.RecordCountEnd Sub前移按钮代码:Privat

19、e Sub CmdPre_Click()Adodc1.Recordset.MovePrevious 记录指针移到前一条记录CmdNext.Enabled = TrueCmdLast.Enabled = TrueIf Adodc1.Recordset.BOF Then 如果记录指针移到首记录之前,Adodc1.Recordset.MoveFirst 则记录指针移到首记录上CmdFirst.Enabled = FalseCmdPre.Enabled = FalseEnd IfLabel6.Caption = 记录: & Adodc1.Recordset.AbsolutePosition & / &

20、 Adodc1.Recordset.RecordCountEnd Sub后移按钮代码:Private Sub CmdNext_Click()Adodc1.Recordset.MoveNext 记录指针移到下一条记录CmdFirst.Enabled = TrueCmdPre.Enabled = TrueIf Adodc1.Recordset.EOF Then 如果记录指针移到了末记录之后 Adodc1.Recordset.MoveLast 则记录指针移到末记录上 CmdNext.Enabled = False CmdLast.Enabled = FalseEnd IfLabel6.Caption

21、 = 记录: & Adodc1.Recordset.AbsolutePosition & / & Adodc1.Recordset.RecordCountEnd Sub末记录按钮代码:Private Sub CmdLast_Click() Adodc1.Recordset.MoveLast 移到末记录 CmdFirst.Enabled = True CmdPre.Enabled = True CmdNext.Enabled = False CmdLast.Enabled = FalseLabel6.Caption = 记录: & Adodc1.Recordset.AbsolutePositio

22、n & / & Adodc1.Recordset.RecordCountEnd Sub移动记录数按钮代码:Private Sub CmdN_Click()Dim n As Integern = Text6.TextAdodc1.Recordset.Move nLabel6.Caption = 记录: & Adodc1.Recordset.AbsolutePosition & / & Adodc1.Recordset.RecordCountEnd Sub图3.73.6 查询页面:查询页面可以通过各种查询条件对所需要的结果进行筛选,从而得到自己所需要的结果。刷卡信息查询代码如下:Private S

23、ub Command1_Click()Dim str As Stringstr = Select * From 刷卡表 Where 刷卡表. & Combo1.Text & like & Text2.Text & %Adodc1.RecordSource = strAdodc1.RefreshEnd SubPrivate Sub Command2_Click()MDIForm1.ShowUnload MeEnd SubPrivate Sub Form_Load()Combo1.AddItem 员工工号 为组合列表框添加各选项Combo1.Text = 清空文本框End SubPrivate S

24、ub Text1_Change()End Sub图3.8加班信息表的查询代码如下:Private Sub Command1_Click()Dim str As Stringstr = Select * From 加班表 Where 加班表. & Combo1.Text & like & Text1.Text & %Adodc1.RecordSource = strAdodc1.RefreshEnd SubPrivate Sub Command2_Click()MDIForm1.ShowUnload MeEnd SubPrivate Sub Form_Load()Combo1.AddItem 员

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

26、)Combo1.AddItem 员工工号 为组合列表框添加各选项Combo1.Text = 清空文本框End Sub图3.103.7 数据修改:员工基本信息修改表代码如下:Private Sub Command1_Click() 员工信息表.Adodc1.Recordset.Fields(员工工号) = Text1.Text 员工信息表.Adodc1.Recordset.Fields(员工姓名) = Text2.Text 员工信息表.Adodc1.Recordset.Fields(员工性别) = Combo1.Text 员工信息表.Adodc1.Recordset.Fields(员工年龄) =

27、 Text3.Text 员工信息表.Adodc1.Recordset.Update 员工信息表.Adodc1.Refresh MsgBox 修改成功!, vbInformation, 提示End SubPrivate Sub Command2_Click()Unload Me员工信息表.ShowEnd SubPrivate Sub Form_Load() Text1.Text = 员工信息表.Adodc1.Recordset.Fields(员工工号) Text2.Text = 员工信息表.Adodc1.Recordset.Fields(员工姓名) Text3.Text = 员工信息表.Adod

28、c1.Recordset.Fields(员工年龄) Combo1.Text = 员工信息表.Adodc1.Recordset.Fields(员工性别) Combo1.AddItem 男 Combo1.AddItem 女 Combo1.Text = 男End Sub图3.11图3.12总 结通过这个程序的开发,我了解了做一个数据库开发设计的全过程。从程序概念结构设计、VB窗体的建立、窗体连接数据库以及代码,经历了一个相对比较完整的过程。在整个设计过程中,遇到了很多的问题,虽然在处理问题的时候不能说是做的最好,但也收获不小,至少在知识的熟练掌握上还是相当满意的。不过由于现有知识水平的欠缺以及设计时

29、间较短,加上还要做组成课程设计又是第一次做数据库的课程设计,所以该系统还有许多不完善的地方,比如功能实现不多、用户界面不够美观、出错处理不够好,没有删除功能等多方面问题。这些都有待进一步提高。但是我相信这次的课程设计将对我们以后的学习和生活有着非常积极的指导意义。参考文献1 王珊 . 数据库系统简明教程 . 北京. 高等教育出版社 . 20042 张立科 . VB数据库开发技术与工程实践 . 北京 . 人民邮电出版社 . 20043 钱雪忠 . 数据库原理及应用 . 北京 . 北京邮电大学出版社 . 20074 王珊 . 数据库技术与联机分析处理 . 北京 . 北京科学出版社 . 19985 张立科 . Visual Basic 6.0 数据库开发技术与工程实践 . 北京 . 人民邮电出版社 . 20036 郑阿奇 . SQL Server 教程 . 北京 . 清华大学出版社 . 2005

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号