ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:172.90KB ,
资源ID:5434531      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5434531.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计报告最终成品1.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课程设计报告最终成品1.docx

1、课程设计报告最终成品1 目 录1、需求分析.1 2、问题分析.13、概要设计.24、模块设计.3 4.1 模块划分.4 4.2模块结构图 .4 5、详细设计.4 5.1登录界面设计.4 5.2主界面设计.5 5.2.1 查询模块设计 .5 5.2.2 删除模块设计.8 5.2.3 修改模块设计 .8 5.2.4 增加模块设计 .9 5.2.5 排序模块设计.10 6、调试分析和系统优化.12 7、测试结果.14 参考文献.14 组员考勤表 职工管理系统1、需求分析 随着计算机的飞速发展,它的应用已经十分广泛,它在人们的生产、生活、工作和学习中发挥着重要的作用。例如一个现代化的公司,拥有数千名的

2、员工,那么如何管理这么庞大的职工信息档案呢?这时,开发一个功能完善的职工信息管理系统就必不可少了。本文介绍了利用Delphi开发本系统的详细过程,提出了实现职工信息增加、查询、删除、修改及排序的基本功能并阐述系统概要设计和详细设计从软件工程的角度进行了科学而严谨的阐述。从职工信息的查询到管理实现了自动化的模式,从而提高了工作效率。 设计系统实现对某单位的职工进行管理,包括插入、删除、查找、排序等功能。其中职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。要求实现的具体操作如下:(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。(2)删除一名职工:从职工管

3、理文件中删除一名职工对象。(3)查询:从职工管理文件中查询符合某些条件的职工。(4)修改:检索某个职工对象,对其某些属性进行修改。(5)排序:按某种需要对职工对象文件进行排序。二、问题分析本演示程序由Delphi编写,完成对某单位的职工进行管理,包括插入、删除、查找、排序等功能。1、要实现职工管理系统的功能,首先要用Delphi程序中的DataSource组件建立ADOQuery与DBGrid的链接,再用ADOConnection组件将之与数据库表进行连接,最后用ADOQuary组件打开数据库表。2、利用其中的小组件初步的完成这个系统的外框,再分别对插入、删除、查找、排序等小组件进行代码的书写

4、,编译和运行。3、当要插入员工信息时,若输入的信息在原先的职工表中存在,就显示已有该职工;若输入的信息是新的,则新增了一条记录。4、当要删除一条员工信息时,只要选中该条信息,然后按删除即可。5、当要查询员工信息时,输入要查询的员工信息,再点击查询就能显示该员工的信息。6、可以在CmboBox组件中选择排序的类型,就能按照指定的进行排序。7、测试数据:A:插入操作中依次输入0420,张三,男,1991-1-4,2011-8-5,服务员,1524963258,生成一条新信息B:删除操作中输入0406,信息就被删除C:查找操作中输入0416,就能查找到该条的详细信息D:排序操作中选择按职工编号,整张

5、表就按编号进行排序三、概要设计概要设计基础是完成需求分析后提供的需求说明书,用概念数据模型表示数 据及其相互间的关系,通过对企业员工管理内容、工资管理内容和过程的分析,本系统应设计的实体和属性如下:实体:职工属性:职工编号、性别、姓名、出生年月、工作年月、职务、住址、电话数据库设计(1) 职工表序号字段名称数据类型1职工编号文本2姓名文本3性别文本4出生年月日期/时间5工作年月日期/时间6职务文本7住址文本8电话数字字段属性:字段大小 10必填字段 否允许空字段符 是索引 有(无重复)Unicode压缩 是输入法模式 开启IME语句模式 无转化说明:职工基本信息表用于存储员工基本信息,为保证数

6、据的一致和历史资料的完整,表的记录在一般的情况不能被删除(2) 用户口令表序号域名域中文名1xz新增2sc删除3cx查询4xg修改5Px排序说明:为了便于用户管理该系统,建立此表,用于记录用户新增、删除、查询、修改、排序四、 模块设计4.1 模块划分本企业员工管理系统大致分为五个部分:(1)员工信息添加模块添加新的员工信息,并可以设置权限。(由管理员来添加新的员工)(2)员工信息查询模块在员工信息管理模块中,用户根据需要,可根据已有选项查询各种条件的员工。(3)员工信息删除模块删除不需要的员工信息。(4)员工信息修改模块有修改员工的个人信息和登陆密码等功能 。(5) 员工信息排序模块用户可根据

7、需要根据员工的编号、姓名、出生年月、工作年月等条件进行递增或递减排序。 4.2模块结构图 下图是系统各模块的逻辑关系图,如图1-1所示: 图1-1 系统模块图 五、详细设计现在我们已经构建了职工管理系统的大体架构,也有了相应的数据库表zgb接下来,我们需要的就是进入物理的实现阶段。5.1登录界面设计 首先,我们设计了一个职工管理系统的登录界面,上面有两个按钮,一个是进入职工管理系统,另一个是退出进入职工管理系统按钮的代码如下:procedure TForm1.Button1Click(Sender: TObject);beginform2.show;end;退出按钮的代码:beginclose

8、;end;5.2主界面设计当我们点击了进入职工管理系统按钮,就会跳出form2的内容。在form2中,我们的界面如图1-2所示: 图 1-2 系统主界面在这个界面中我们用到了四个相关的数据库组件,分别是adoconnection1,adoquery1,datesource1,dbgrid1.分别先要设置adoconnection1的build,根据数据库的位置进行连接,设置adoquery1的connection属性为adoconnection1,sql属性里编辑select * from zgb,active属性设置为true。datasource1的dataset属性设置为true。最后把

9、dbgrid1的datasource属性设置为datasource1在这个界面中,我们可以实现对数据库表的增加,删除,修改,查询,排序功能,我们增加了一系列的BUTTON,EDIT,COMBOBOX,LABEL等组件,下面一一介绍他们的具体实现。5.2.1 查询模块详细设计 按条件查询按钮的代码:begin case ComboBox2.itemindex of 0:beginADOQuery1.Close ;ADOQuery1.SQL.Clear ;ADOQuery1.SQL.Add(select * from zgb where 职工编号=:a);ADOQuery1.Parameters

10、.ParamByName(a).Value:=edit9.text ;ADOQuery1.Open;end;1:beginADOQuery1.Close ;ADOQuery1.SQL.Clear ;ADOQuery1.SQL.Add(select * from zgb where 姓名=:a);ADOQuery1.Parameters .ParamByName(a).Value:=edit9.text ;ADOQuery1.Open;end;2:beginADOQuery1.Close ;ADOQuery1.SQL.Clear ;ADOQuery1.SQL.Add(select * from

11、zgb where 性别=:a);ADOQuery1.Parameters .ParamByName(a).Value:=edit9.text ;ADOQuery1.Open;end;3:beginADOQuery1.Close ;ADOQuery1.SQL.Clear ;ADOQuery1.SQL.Add(select * from zgb where 出生年月=:a);ADOQuery1.Parameters .ParamByName(a).Value:=edit9.text ;ADOQuery1.Open;end;4:beginADOQuery1.Close ;ADOQuery1.SQL

12、.Clear ;ADOQuery1.SQL.Add(select * from zgb where 工作年月=:a);ADOQuery1.Parameters .ParamByName(a).Value:=edit9.text ;ADOQuery1.Open;end;5:beginADOQuery1.Close ;ADOQuery1.SQL.Clear ;ADOQuery1.SQL.Add(select * from zgb where 职务=:a);ADOQuery1.Parameters .ParamByName(a).Value:=edit9.text ;ADOQuery1.Open;e

13、nd;6:beginADOQuery1.Close ;ADOQuery1.SQL.Clear ;ADOQuery1.SQL.Add(select * from zgb where 地址=:a);ADOQuery1.Parameters .ParamByName(a).Value:=edit9.text ;ADOQuery1.Open;end;7:beginADOQuery1.Close ;ADOQuery1.SQL.Clear ;ADOQuery1.SQL.Add(select * from zgb where 电话=:a);ADOQuery1.Parameters .ParamByName(

14、a).Value:=edit9.text ;ADOQuery1.Open;end;end;end;5.2.2 删除模块详细设计删除按钮的代码: ADOQuery1.delete; 5.2.3 修改模块详细设计要实现游标指导那里,就在相应的EDIT组件中显示数据库的记录,需要在 adoquery1的afterscroll事件中编写如下代码:beginedit10.Text:=ADOQuery1.Fields 0.Value ;edit11.Text:=ADOQuery1.Fields 1.Value ;edit12.Text:=ADOQuery1.Fields 2.Value ;edit13.T

15、ext:=datetostr(ADOQuery1.Fields 3.Value) ;edit14.Text:=datetostr(ADOQuery1.Fields 4.Value) ;edit15.Text:=ADOQuery1.Fields 5.Value ;edit16.Text:=ADOQuery1.Fields 6.Value ;edit17.Text:=ADOQuery1.Fields 7.Value ;end; 然后修改按钮的代码:beginADOQuery1.Edit ;ADOQuery1.Fields0.Value:=edit10.text;ADOQuery1.Fields1.

16、Value:=edit11.text;ADOQuery1.Fields2.Value:=edit12.text;ADOQuery1.Fields3.Value:=strtodate(edit13.text);ADOQuery1.Fields4.Value:=strtodate(edit14.text);ADOQuery1.Fields5.Value:=edit15.text;ADOQuery1.Fields6.Value:=edit16.text;ADOQuery1.Fields7.Value:=edit17.text;ADOQuery1.Post;ADOQuery1.ExecSQL ;ADO

17、Query1.Close ;ADOQuery1.SQL.Clear ;ADOQuery1.SQL.Add(select *from zgb );ADOQuery1.Open ;end;5.2.4 增加模块详细设计 增加按钮的代码:beginADOQuery1.Close ;ADOQuery1.SQL.Clear ;ADOQuery1.SQL .Add(insert into zgb values (:a ,:b,:c,:d,:e,:f,:g,:h) );ADOQuery1.Parameters .ParamByName(a).Value:=edit1.text;ADOQuery1.Parame

18、ters .ParamByName(b).Value:=edit2.text;ADOQuery1.Parameters .ParamByName(c).Value:=edit3.text;ADOQuery1.Parameters .ParamByName(d).Value:=strtodate(edit4.text);ADOQuery1.Parameters .ParamByName(e).Value:=strtodate(edit5.text);ADOQuery1.Parameters .ParamByName(f).Value:=edit6.text;ADOQuery1.Parameter

19、s .ParamByName(g).Value:=edit7.text;ADOQuery1.Parameters .ParamByName(h).Value:=edit8.text;ADOQuery1.ExecSQL ;ADOQuery1.Close ;ADOQuery1.SQL.Clear ;ADOQuery1.SQL.Add(select *from zgb );ADOQuery1.Open ;end;5.2.5 排序模块详细设计 最后,我们还要实现排序的功能我们对递增按钮的代码设计:begin case ComboBox1.itemindex of0:begin ADOQuery1.Cl

20、ose ; ADOQuery1.SQL .Clear; ADOQuery1.SQL .ADD(select * from zgb Order By 职工编号 ASC ); ADOQuery1.Open ; end;1:begin ADOQuery1.close; ADOQuery1.sql.clear; ADOQuery1.sql.Add( select * from zgb order by 姓名 ASC ); ADOQuery1.open;end;2:begin ADOQuery1.Close ; ADOQuery1.SQL .Clear; ADOQuery1.SQL .ADD(selec

21、t * from zgb Order By 性别 ASC ); ADOQuery1.Open ; end;3:begin ADOQuery1.Close ; ADOQuery1.SQL .Clear; ADOQuery1.SQL .ADD(select * from zgb Order By 出生年月 ASC ); ADOQuery1.Open ; end;4:begin ADOQuery1.Close ; ADOQuery1.SQL .Clear; ADOQuery1.SQL .ADD(select * from zgb Order By 工作年月 ASC ); ADOQuery1.Open

22、 ; end;5:begin ADOQuery1.Close ; ADOQuery1.SQL .Clear; ADOQuery1.SQL .ADD(select * from zgb Order By 职务 ASC ); ADOQuery1.Open ; end;6:begin ADOQuery1.Close ; ADOQuery1.SQL .Clear; ADOQuery1.SQL .ADD(select * from zgb Order By 住址 ASC ); ADOQuery1.Open ; end;7:begin ADOQuery1.Close ; ADOQuery1.SQL .Cl

23、ear; ADOQuery1.SQL .ADD(select * from zgb Order By 电话 ASC ); ADOQuery1.Open ;end; end;end;递减按钮的代码相同,只要把代码的ASC 改为DESC。返回按钮代码:beginADOQuery1.Close ;ADOQuery1.SQL.Clear ;ADOQuery1.SQL.Add(select *from zgb );ADOQuery1.Open ;end;最后,我们设计退出界面的代码:beginclose;end;代码的设计大体上就是上述这些,接下来,我们就要做的就是系统的调试和优化。六、调试分析和系统优

24、化通过调试系统,可以对职工信息进行增加、修改、删除、查询和排序操作。但现实中企业的数据库信息是相当多的,我们又结合实际对自己的系统做了优化。 “按条件查询”的优化,在实际的查询中可能会因职工不存在或者输入错误,导致查询的职工不存在,系统中我们在查询语句中添加了showmessage消息提示框,代码如下: if ADOQuery1.Locate(职工编号,edit9.Text ,)=false thenshowmessage(没有该职工);如图1-3所示: 图1-3 消息提示框 “增加”的优化,在增加职工信息时为了保证主码的唯一性,不能添加重复的信息,所以在增加前要先对数据库查询是否有该职工存在

25、,优化后的代码如下:beginif ADOQuery1.Locate(职工编号,edit1.Text ,) then showmessage(已有该职工)elsebeginADOQuery1.Close ;ADOQuery1.SQL.Clear ;ADOQuery1.SQL .Add(insert into zgb values (:a ,:b,:c,:d,:e,:f,:g,:h) );ADOQuery1.Parameters .ParamByName(a).Value:=edit1.text;ADOQuery1.Parameters .ParamByName(b).Value:=edit2.text;ADOQuery1.Parameters .ParamByName(c).Value:=edit3.text;ADOQuery1.Parameters .ParamByName(d).Value:=strtodate(edit4.text);ADOQuery1.Parameters .ParamByName(e).Value:=strtodate(edit5.text);A

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1