电子-陈庆龙

更新时间:2023-11-07 00:11:01 阅读量: 自然科学 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

淮海工学院

课程设计报告书

课程名称:《电子系统程序设计课程设计》题目:企业人事管理系统

系(院):电子工程学院

学期:2012—2013学年第2学期专业班级:电子信息工程电子101 姓名:陈庆龙

学号:031091101

1 引言

1.1 简介

人事管理系统是一个面向企业人事部门工作人员,为其提供服务的综合信息管理系统人员通过本系统完成相关的日常工作,这些工作也是平常较为繁重的工作。员工的个人信息等等都记录在人事系统里进行管理。企业下设人事部门,全权处理企业内部一切人事事务。人事档案登记过程,员工在人事部门领取个人简历、家庭成员、社会关系、个人基本资料四式一份的表格,然后填写,填写完毕交回人事部门,由人事部门的档案管理组进行审核,审核不合格的发回重新填写,合格的以原始资料存档,并据以填写职工人事卡片。人事档案统计过程,人事部门调查分析组按管理组提供的员工人事卡片统计各种所需的数据,然后填写所对应的统计报表,该统计报表一式两份,然后做出分析后,连同一份统计报表上交上一级主管部门,另一份统计报表存档备查。如发生企业内部人员调动、升职、降职、或添加职工和开除职工等情况时,只需修改、添加和删除相应的人事卡片,其余过程同上。人事部门将收集到员工人事信息统一进行审核。审核过程中,人事信息需要所有审核人员通过,方可录入系统数据库。如信息有误,需要返回给员工进行重新填写或修改。

企业人事管理系统是一个典型的信息管理系统(MIS),本系统是一个为适应当前各个行业对人事管理信息管理的迫切需求而设计开发的软件系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,经过分析和比较,利用其提供的各种面向对象的开发手段,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进直到形成用户满意的可行系统。

管理信息系统(MIS)的概念是1961年美国人J.D.GALLAGHER首先提出来的,是一门新兴的、集管理科学、信息科学、系统科学及计算机科学为一体的综合性学科,研究的是企业中信息管理活动的全过程,以便有效的管理信息,提供各类管理决策信息,辅助企业进行现代化管理。管理信息系统是企业的信息系统,它具备数据处理、计划、控制、预测和辅助决策功能,具体作用如下:(1)用统一标准处理和提供信息,排除使用前后矛盾的不完整的数据。

(2)完整、及时提供在管理及决策中需要的数据。

(3)利用指定的数据关系式分析数据,客观预测未来。

(4)向各级管理机构提供不同详细程度的报告,缩短分析和解释时间。

(5)用最低的费用最短的时间提供尽可能精确、可靠的信息,以便使决策者选择最佳的实施方案,以提高企业的经济效益。

1.2 意义

利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事工资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

不同的企业具有不同的人事、工资管理制度,这就决定了不同的企业需要不同的人事工资管理系统。企业以前的所有资料都是用人工记录的方式来进行管理的,面对目前的实际状况,迫切需要开发一个计算机系统来适应这一些工作。

管理信息系统是一门融管理科学、信息科学、系统科学、现代通信技术和电子计算机技术为一体的综合性边缘学科,它以人为主导,利用计算机硬件、软件、网络通信设备办公设备,进行信息的收集、传输、加工、存储、更新和维护,以及提高企业效率为目的一种集成化的人机系统。MIS系统涉及到多方面的内容,因此,人们称MIS学科是一个交叉综合性的学科。

信息是维持生产活动、经济活动和社会活动必不可少的基本资源,他是有价值,是构成客观世界的三大要素之一。同时也说明了一点,就是信息处理也非常的重要。一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。企业人事信息管理系统是大中型企业单位不可缺少的工具,它的内容对于企业的决策者和管理者来说都至关重要,所以企业人事信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。而如今电脑已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。所以利用计算机管理人事是以后企业最佳选择。企业人事管理是相对企业内部员工的管理。集人员、考勤、工资、员工培训、系统功能等于一体的大型管理系统。为企业在人事管理等方面提供极大的方便。不但有利于企业的统一性管理,而且还大在提高了企业的全体员工的工作效率和积极性。企业人事管理可以说是一项琐碎、繁杂而又必须十分细致的工作,是不能允许时常发生差错的。几十年前的

那种手工操作已远远跟不上近代企业发展的步骤,时代的进步决定了企业的发展,而企业要发展必然完善的管理体系,所以说企业人事管理的自动化完全是时代进步的必然结果。合理的利用有助于企业发展的管理系统是企业改革的一种优越的体现。利用计算机对企业人事管理不仅保证了核算准确度,还成倍的提高了工作效率,而且便于查询。本软件界面美观、使用方便,是企业人事管理必不可缺的好帮手。

1.3 研究思路

经过分析如此情况,我们使用DELPHI ,数据库等开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统.

正如研究任何其它软件项目一样,我做的课程设计也经历了从选题,调研,熟悉开发环境,实验关键技术,查找类似的相关系统的资料;系统需求分析,数据库结构设计,功能模块开发,功能模块测试,系统调试和系统试运行和修改。

2 设计目的

《电子系统程序设计》(课程设计)是电子信息工程专业的重要实践性环节之一,是在学生学习完《电子系统信息处理》(《数据库系统概论》)、《电子系统程序设计》(《Delphi程序设计》)等课程后进行的一次全面的综合练习。其目的在于:(1)巩固和加深学生对数据库系统和Delphi语言等课程的基本知识的理解和掌握;(2)掌握Delphi语言编程和程序调试的基本技能;(3)利用Delphi 语言进行简单软件设计的基本思路和方法;(4)提高运用Delphi语言分析、解决实际问题的能力;(5)掌握编写程序设计说明文档的能力。

通过这次课程设计主要有三个目的:

1、训练学生灵活应用所学《电子系统信息处理》(《数据库系统概论》)和《电子系统程序设计》(《Delphi程序设计》)知识,独立完成分析问题,解决问题的能力。

2、初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。

3、训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风

3 设计任务与要求

3.1 课程设计的任务

(1)、企业人事管理业务为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型。

(2)、完成软件结构设计、数据库设计和算法设计。

(3)、完成人事管理系统的软件开发和测试工作。

(4)、撰写设计说明书。

3.2 的主要内容、功能及技术指标

(1)、整个系统由员工管理系统、工资管理系统等组成。

(2)、系统要实现基本信息录入、修改、查询等功能。

(3)、系统要实现满足多种条件的统计分析功能,有些统计数据要采用图表的格式呈现。

(4)、系统要有一定的安全控制策略。

(5)、整个系统可以选择采用2层结构。数据库系统采用Access2003、SQL Server 2000,前台开发工具可以选用Delphi等。

4 设计说明书

4.1 需求分析

系统分析是开发管理信息系统的关键性阶段,是一个从不断认识和逐步细化的过程,

是下一阶段的工作基础,是为下一阶段进行物理方案设计、解决“怎么做”提供依据,基关键性主要体现在“理解需求”和“表达需求”两方面。通过对现行系统的详细调研,主要是从系统的角度理解用户的需要,确定新系统的综合要求,并提出这些需求的实现条件以及需求应达到的标准,也就是确定新系统要做什么,做到什么程度。这些需求包括:

(1)功能需求。确定新系统应做什么,这是最主要的需求。

(2)性能需求。给出所开发的新系统的技术性能指标,包括存储容量限制、运行时间

限制、安全保密性等。

(3)环境需求。这是对系统运行以及所处环境的要求。例如,在硬件方面采用什么机

型、有什么硬件设备等;在软件方面,采用什么支持系统运行的系统软件(指

操作系统、数据库管理系统)。

(4)未来需求。这类要求是指目前不属于系统开发的范围,但将来随着外界环境的变

化以及系统的发展可能会提出的要求。了解这类要求的目的是在开发过程中,

可对系统将来可能的扩展与修改做准备。一旦需要时,就比较容易进行补充和修改了。

4.2 概要设计

4.2.1该系统所包含子系统

人事管理系统是一个典型的数据库应用程序,由启动窗体、登录模块、系统主界面、信息设置模块、员工信息管理管理模块、工资管理模块等组成,具体的功能模块如下:

(1) 信息设置模块主要功能是对部门信息、工种类型、职称类型、文化程度、政治面貌、民族类型、得税设置、等进行设置。

(2) 员工信息管理模块主要功能是新员工登记、员工基本信息、学历基本信息、其他一些信息。

(3) 工资管理模块主要是:设置员工的工资信息以及生成、录入和修改。

4.2.2 总体设计

开发这个系统的目的就是要帮助企业的人事部门提高工作效率,实现企业人事信息管理系统的系统化、规范化和自动化。根据这个系统所要实现的目的和任务,结合实际管理情况,本系统应用有如下功能模块:

员工基本情况: 包括的数据项有员工号、员工姓名、性别、所在部门、职务、职称、身份证号、生日、籍贯、民族、婚姻状况、健康状况、政治面貌、参加时间、参加工作时间、家庭住址以及联系电话等以及如新增、修改等功能。

员工学历信息:包括的数据项有学历、专业、毕业时间、毕业学校、学校类型、外语等级等以及如新增、修改等功能;

工资信息:包括的数据项有基本工资、岗位工资、职务工资、效益工资、养老保险、失业保险、医疗保险、交通费、通讯费、其它补助、病假扣款、事假扣款、扣所得税、应发工资、实发工资等以及如新增、修改等功能。

4.2.3 系统结构图

本系统功系统结构图板块如图1所示:

图1 系统结构图

4.3 详细设计

整个系统由登录模块、服务选择模块、查询模块、管理模块组成。员工登录进入服务选择模块,选择相应要查询的信息,包括员工信息,工资信息,选择进入后即可进行相应信息的查询。管理员登陆进入服务选择模块,选择相应要管理的信息,包括员工信息,工资信息,选择进入后即可进行相应信息的管理与修改。

系统的详细设计内容如下:

4.3.1 系统流程图

如图2所示,为系统的系统流程图

图2 系统流程图 4.3.2 数据库表的建立

(1)如图2所示,为数据库整体框架结构图。 图2 数据库整体框架结构图

(2)用户登录表

用户登录表用于存储员工的登录信息,包括员工用户名、员工密码。如表1在Access 中创建一个名为用户登录表的数据表:

开始 用户名、密码

用户名或密码不正确

登录 服务选择 退出 录入、查询、修改 取消

表1用户登录表

(3)工资管理表的建立

包括的数据项有:基本工资、岗位工资、职务工资、效益工资、养老保险、失业保险、医疗保险、交通费、通讯费、其它补助、病假扣款、事假扣款、扣所

表2 工资管理表

(4)员工基本信息表建立

在Access中创建一个名为员工基本信息表的数据表,,包括的数据项有:员工号、员工姓名、性别、所在部门、职务、职称、身份证号、生日、籍贯、民族、婚姻状况、健康状况、政治面貌、参加时间、参加工作时间、家庭住址以及联系电话等。如表3所示:

表3 员工基本信息表

(4)员工学历信息表的建立

在Access中创建一个名为员工学历信息表的数据表,包括的数据项有:学

表4 员工学历信息表

(5)其他信息表的建立

在Access中创建一个名为其他信息表的数据表,如表5所示:

调入时间参加工作时间职务职称所在部门

2010 3 班长班长淮工

2010 10 卫生

卫生员师专

表5 其他信息表

以上各表内容即为各个子系统的基本数据,员工登录后,进行查询操作,并可对自己的信息进行录入、修改和查询操作。

4.3.3 数据库表的连接建立

数据模块窗体主要功能是统一管理数据库访问组件,在本系统中,这个模块

是最重要的模块,其他模块都要通过这个模块中的组件访问数据库,虽然只有简

图3 数据模块

单的组件属性设置,Delphi自动生成代码,但是不容有误。数据模块如图3所示:

此模块的设计步骤如下:

(1)在Delphi中选择“File”/“New”/“Data Module”菜单项,新建一个数据模块,命名为“Data1”。

(2)在“ADO”组件页中点选“TADOConnection”组件,添加到窗体上,TADOConnection组件用到连接数据库,其它数据库组件通过它连接数据库。

(3)点选ADOConnection1组件,在“Object Inspector”窗口中,单击ConnectionString属性右侧的【…】按钮,弹出对话框如图4所示。

图4 数据连接对话框

单击【Build 】按钮,在弹出的对话框中的“提供程序”选项卡中设置希望连接的数据,选择第四个,如图5所示:

图5 连接属性对话框

(5)选择“连接”选项卡,设置连接相关设置,如图

6所示。

图6 连接属性对话框

(6)单击【测试连接】按钮,如果连接成功,则提示成功,单击【确定】按钮完成数据库的连接。如图7所示。

图7 连接成功对话框

(7)在窗体上添加TADOQuery组件,设置Connection为“ADOConnection1”。

这里的每个TADOQuery组件连接一个数据表。

5 设计成果

5.1 运行界面

5.1.1 登录界面

启动本系统,输入用户名和密码登录。登陆界面如图8所示:

图8 登录界面

实现代码如下:

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

ADOTable1.Close;

ADOTable1.Open;

ADOTable1.Active;

results:=ADOTable1.Lookup('用户名',edit1.text,'密码');

if edit1.Text='' then

application.MessageBox('用户名不能为空!','提示',mb_ok) else if edit2.Text='' then

application.messagebox('密码不能为空!','警告',mb_ok) else

if results=edit2.Text then

begin

application.CreateForm(Tform2,form2);

form2.ShowModal;

end

else

showmessage('密码错误或用户不存在!');

edit1.Visible:=true;

edit2.Visible:=true;

edit1.Text:='';

edit2.Text:='';

end;

procedure TForm1.SpeedButton2Click(Sender: TObject);

begin

application.Createform(Tform3,form3);

form3.showmodal;

end;

end.

5.1.2 服务选择界面

用户名和密码确认后进入服务选择界面,会出现选择的界面,用户可根据自己的需要选择基本信息或者工资。如图9所示:

图9 服务选择界面

服务选择界面由四个按钮组成,分别为系统主页、员工基本信息、员工工资信息、退出系统。

实现代码如下:

procedure TForm2.N4Click(Sender: TObject);

begin

application.Createform(Tform4,form4);

form4.showmodal;

end;

procedure TForm2.N3Click(Sender: TObject);

begin

form5.show();

end;

end.

5.1.3 基本工资信息的显示界面

(1)工资信息查询界面

点击工资信息查询以后,输入员工号,即可查询所需工资信息。如图10所示:

图10 员工工资基本信息查询界面

(2)工资信息修改界面

如果员工想修改自己的工资信息的话,就点击信息修改按钮,会出现如图11所示的界面,进行输入修改,或者删除即可。

图11 工资基本信息修改界面

(3)工资信息录入界面

图12 新来员工工资信息添加界面

信息录入界面包括录入、重置、取消三个按钮,分别可以进行信息的录入、重置、取消等操作,实现员工自己信息的管理。

实现代码如下:

procedure TForm4.PageControl1Change(Sender: TObject);

begin

application.Createform(Tform4,form4);

form4.showmodal;

end;

procedure TForm4.SpeedButton1Click(Sender: TObject);

begin

with ADOQuery1 do

begin

close;

SQL.Clear;

SQL.Add('select * from 工资管理 where 工资管理.员工号=:a');

parameters.ParamByName('a').Value:=Trim(Edit1.Text);

Open;

end;

If (edit1.Text='')or(edit2.Text='')or(edit3.Text='') or (edit4.Text='')or (edit5.Text='')or (edit6.Text='')or (edit7.Text='')or (edit8.Text='')or (edit9.Text='')or(edit10.Text='')or(edit11.Text='')or(edit12.Text='') or (edit13.Text='')or (edit14.Text='')or (edit15.Text='')or (edit16.Text='')or (edit17.Text='')or (edit18.Text='')then begin

application.MessageBox('信息不完整!','错误操作',mb_ok);

exit;

end

else

if ADOQuery1.Eof=false then

begin

ShowMessage('该用户已经存在,请重新填写');

Edit1.Clear

end

else

begin

adoquery1.close;

adoquery1.sql.clear;

Adoquery1.sql.add('insert into 工资管理(员工号,基本工资,职务工资,养老保险,医疗保险,通讯费,病假扣款,扣所得税,实发工资,姓名,岗位工资,效益工资,失业保险,交通费,其他补助,事假扣款,应发工资,奖金)values (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18)');

Adoquery1.parameters.parambyname('1').value:=''+Edit1.Text+'';

Adoquery1.parameters.parambyname('2').value:=''+Edit2.Text+'';

Adoquery1.parameters.parambyname('3').value:=''+Edit3.Text+'';

Adoquery1.parameters.parambyname('4').value:=''+Edit4.Text+'';

Adoquery1.parameters.parambyname('5').value:=''+Edit5.Text+'';

Adoquery1.parameters.parambyname('6').value:=''+Edit6.Text+'';

Adoquery1.parameters.parambyname('7').value:=''+Edit7.Text+'';

Adoquery1.parameters.parambyname('8').value:=''+Edit8.Text+'';

Adoquery1.parameters.parambyname('9').value:=''+Edit9.Text+'';

Adoquery1.parameters.parambyname('10').value:=''+Edit10.Text+'';

Adoquery1.parameters.parambyname('11').value:=''+Edit11.Text+'';

Adoquery1.parameters.parambyname('12').value:=''+Edit12.Text+'';

Adoquery1.parameters.parambyname('13').value:=''+Edit13.Text+'';

Adoquery1.parameters.parambyname('14').value:=''+Edit14.Text+'';

Adoquery1.parameters.parambyname('15').value:=''+Edit15.Text+'';

Adoquery1.parameters.parambyname('16').value:=''+Edit16.Text+'';

Adoquery1.parameters.parambyname('17').value:=''+Edit17.Text+'';

Adoquery1.parameters.parambyname('18').value:=''+Edit18.Text+'';

Adoquery1.execsql;

application.MessageBox('数据已录入,请查看!','完成提示',mb_ok);

edit1.Text:='';

edit2.Text:='';

edit3.Text:='';

edit4.Text:='';

edit5.Text:='';

edit6.Text:='';

edit7.Text:='';

edit8.Text:='';

edit9.Text:='';

edit10.Text:='';

edit11.Text:='';

edit12.Text:='';

edit13.Text:='';

edit14.Text:='';

edit15.Text:='';

edit16.Text:='';

edit17.Text:='';

edit18.Text:='';

end

end;

procedure TForm4.SpeedButton2Click(Sender: TObject); begin

edit1.Text:='';

edit2.Text:='';

edit3.Text:='';

edit4.Text:='';

edit5.Text:='';

edit6.Text:='';

edit7.Text:='';

edit8.Text:='';

edit9.Text:='';

edit10.Text:='';

edit11.Text:='';

edit12.Text:='';

edit13.Text:='';

edit14.Text:='';

edit15.Text:='';

edit16.Text:='';

edit17.Text:='';

edit18.Text:='';

end;

procedure TForm4.SpeedButton3Click(Sender: TObject);

begin

application.ProcessMessages;

form4.Close;

end;

procedure TForm4.BitBtn4Click(Sender: TObject);

var

sqlstr:string;

begin

DBgrid1.Visible:=true;

DBgrid2.Visible:=false;

DBgrid1.Font.Color:=clgreen;

try

sqlstr:=' where (1=1) ';

if edit20.Text <>'' then sqlstr:=sqlstr+'and (姓名like'''+'%'+edit20.text+'%'')' ;

ADOQuery1.Close ;

ADOQuery1.SQL.Clear ;

ADOQuery1.SQL.Add('select * from 工资管理');

ADOQuery1.SQL.Add(sqlstr);

ADOQuery1.Open ;

edit20.Text:='';

except

exit;

end;

end;

procedure TForm4.Button1Click(Sender: TObject);

begin

if dbgrid1.SelectedIndex>=0 then

if (DBedit1.Text='')or(DBedit2.Text='')or(DBedit3.Text='') or

(DBedit4.Text='')or (DBedit5.Text='')or (DBedit6.Text='')or (DBedit7.Text='')or (DBedit8.Text='')or (DBedit9.Text='')or(DBedit10.Text='')or(DBedit11.Text='') or (DBedit12.Text='')or (DBedit13.Text='')or (DBedit14.Text='')or (DBedit15.Text='')or (DBedit16.Text='')or (DBedit17.Text='') or (DBedit17.Text='')then

begin

application.MessageBox('信息不完整!','错误操作',mb_ok);

exit;

end

else

begin

adoquery1.Edit;

adoquery1.Post;

application.MessageBox('你已修改该记录的信息','修改提示',mb_ok);

end

else

application.MessageBox('没有记录可修改或没有选定要修改记录!','修改提示',mb_ok);

end;

procedure TForm4.BitBtn1Click(Sender: TObject);

begin

if dbgrid1.SelectedIndex>0 then

begin

if messagedlg('你确定要删除该记录嘛?',mtinformation,[mbyes,mbno],0)=mryes then

adoquery1.Delete;

end

else

application.MessageBox('没有记录可删除或没有选定要删除记录!','删除提示',mb_ok);

end;

procedure TForm4.BitBtn3Click(Sender: TObject);

var

sqlstr:string;

begin

DBgrid2.Visible:=true;

DBgrid1.Visible:=false;

DBgrid2.Font.Color:=clgreen;

try

sqlstr:=' where (1=1) ';

if edit19.Text <>'' then sqlstr:=sqlstr+'and (员工号like'''+'%'+edit19.text+'%'')' ;

ADOQuery2.Close ;

ADOQuery2.SQL.Clear ;

ADOQuery2.SQL.Add('select * from 工资管理');

ADOQuery2.SQL.Add(sqlstr);

ADOQuery2.Open ;

edit19.Text:='';

except

exit;

end;

end;

procedure TForm4.PageControl1Change(Sender: TObject);

begin

application.Createform(Tform4,form4);

form4.showmodal;

end;

End.

5.1.4 员工基本信息管理的显示界面

(1)基本信息录入界面

如图13所示为新员工的基本信息录入界面添加界面:

图13 新来员工信息添加界面

(2)基本信息查询界面

如图14所示,为员工的信息查询界面:

图14 员工的信息查询界面

(3)员工的基本信息修改界面

如图15所示,为员工的基本信息修改界面,包括修改、删除两个按钮。

图15 员工的基本信息修改界面

实现代码如下:

procedure TForm5.SpeedButton1Click(Sender: TObject);

begin

with ADOQuery1 do

begin

close;

SQL.Clear;

SQL.Add('select * from 基本信息表 where 基本信息表.员工号=:a'); parameters.ParamByName('a').Value:=Trim(Edit1.Text);

Open;

end;

if (edit1.Text='')or(edit2.Text='')or(edit3.Text='') or (edit4.Text='')or (edit5.Text='')or (edit6.Text='')or (edit7.Text='')or (edit8.Text='')or (edit9.Text='')or(edit10.Text='')or(edit11.Text='')or(edit12.Text='') or (edit13.Text='')or (edit14.Text='')or (edit15.Text='')or (edit16.Text='')or (edit17.Text='')or (edit18.Text='')or(edit19.Text='')then

begin

application.MessageBox('信息不完整!','错误操作',mb_ok);

exit;

end

else

if ADOQuery1.Eof=false then

begin

ShowMessage('该用户已经存在,请重新填写');

Edit1.Clear

end

else

begin

adoquery1.close;

adoquery1.sql.clear;

Adoquery1.sql.add('insert into 基本信息表(员工号,籍贯,所在部门,身份证号,政治面貌,家庭住址,学历,毕业学校,员工姓名,民族,职务,婚姻状况,参加时间,联系电话,专业,学校类型,性别,出生日期,职称)values

(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18,:19)' );

Adoquery1.parameters.parambyname('1').value:=''+Edit1.Text+''; Adoquery1.parameters.parambyname('2').value:=''+Edit2.Text+''; Adoquery1.parameters.parambyname('3').value:=''+Edit3.Text+''; Adoquery1.parameters.parambyname('4').value:=''+Edit4.Text+''; Adoquery1.parameters.parambyname('5').value:=''+Edit5.Text+''; Adoquery1.parameters.parambyname('6').value:=''+Edit6.Text+''; Adoquery1.parameters.parambyname('7').value:=''+Edit7.Text+''; Adoquery1.parameters.parambyname('8').value:=''+Edit8.Text+''; Adoquery1.parameters.parambyname('9').value:=''+Edit9.Text+''; Adoquery1.parameters.parambyname('10').value:=''+Edit10.Text+''; Adoquery1.parameters.parambyname('11').value:=''+Edit11.Text+''; Adoquery1.parameters.parambyname('12').value:=''+Edit12.Text+''; Adoquery1.parameters.parambyname('13').value:=''+Edit13.Text+''; Adoquery1.parameters.parambyname('14').value:=''+Edit14.Text+''; Adoquery1.parameters.parambyname('15').value:=''+Edit15.Text+''; Adoquery1.parameters.parambyname('16').value:=''+Edit16.Text+''; Adoquery1.parameters.parambyname('17').value:=''+Edit17.Text+''; Adoquery1.parameters.parambyname('18').value:=''+Edit18.Text+''; Adoquery1.parameters.parambyname('19').value:=''+Edit19.Text+'';

Adoquery1.execsql;

application.MessageBox('数据已录入,请查看!','完成提示',mb_ok); edit1.Text:='';

edit2.Text:='';

edit3.Text:='';

edit4.Text:='';

edit5.Text:='';

edit6.Text:='';

edit7.Text:='';

edit8.Text:='';

edit9.Text:='';

edit10.Text:='';

edit11.Text:='';

edit12.Text:='';

edit13.Text:='';

edit14.Text:='';

edit15.Text:='';

edit16.Text:='';

edit17.Text:='';

edit18.Text:='';

edit19.Text:='';

end

end;

procedure TForm5.SpeedButton2Click(Sender: TObject);

begin

edit1.Text:='';

edit2.Text:='';

edit3.Text:='';

edit4.Text:='';

edit5.Text:='';

edit6.Text:='';

edit7.Text:='';

edit8.Text:='';

edit9.Text:='';

edit10.Text:='';

edit11.Text:='';

edit12.Text:='';

edit13.Text:='';

edit14.Text:='';

edit15.Text:='';

edit16.Text:='';

edit17.Text:='';

edit18.Text:='';

edit19.Text:='';

end;

procedure TForm5.SpeedButton3Click(Sender: TObject);

begin

application.ProcessMessages;

form5.Close;

end;

procedure TForm5.BitBtn1Click(Sender: TObject);

begin

DBgrid1.Font.Color:=clgreen;

try

if edit25.Text <>'' then

ADOQuery1.Close ;

ADOQuery1.SQL.Clear ;

ADOQuery1.SQL.Add('select * from 基本信息表where 员工号='''+edit25.text+'''');

ADOQuery1.Open ;

edit25.Text:='';

except

exit;

end;

end;

procedure TForm5.BitBtn2Click(Sender: TObject);

var

sqlstr:string;

begin

DBgrid1.Font.Color:=clgreen;

try

sqlstr:=' where (1=1) ';

if edit26.Text <>'' then sqlstr:=sqlstr+'and (员工姓名like'''+edit26.text+''')' ;

ADOQuery1.Close ;

ADOQuery1.SQL.Clear ;

ADOQuery1.SQL.Add('select * from 基本信息表');

ADOQuery1.SQL.Add(sqlstr);

ADOQuery1.Open ;

edit26.Text:='';

except

exit;

end;

end;

procedure TForm5.BitBtn3Click(Sender: TObject);

begin

if dbgrid1.SelectedIndex>=0 then

if (DBedit1.Text='')or(DBedit2.Text='')or(DBedit3.Text='') or (DBedit4.Text='')or (DBedit5.Text='')or (DBedit6.Text='')or (DBedit7.Text='')or (DBedit8.Text='')or (DBedit9.Text='')or(DBedit10.Text='')or(DBedit11.Text='') or (DBedit12.Text='')or (DBedit13.Text='')or (DBedit14.Text='')or (DBedit15.Text='')or (DBedit16.Text='')or (DBedit17.Text='') or (DBedit17.Text='')or(DBedit18.Text='')or (DBedit19.Text='')then

begin

application.MessageBox('信息不完整!','错误操作',mb_ok);

exit;

end

else

begin

adoquery1.Edit;

adoquery1.Post;

application.MessageBox('你已修改该记录的信息','修改提示',mb_ok);

end

else

application.MessageBox('没有记录可修改或没有选定要修改记录!','修改提示',mb_ok);

end;

procedure TForm5.BitBtn4Click(Sender: TObject);

begin

if dbgrid1.SelectedIndex>0 then

begin

if messagedlg('你确定要删除该记录嘛?',mtinformation,[mbyes,mbno],0)=mryes then

adoquery1.Delete;

end

else

application.MessageBox('没有记录可删除或没有选定要删除记录!','删除提示',mb_ok);

end;

end.

5.2 测试结果

5.2.1 员工工资修改测试结果

员工工资修改测试结果如图16所示:

图16 员工工资修改测试结果5.2.2 工资信息查询测试结果

工资信息查询测试结果如图17所示:

图17 员工工资信息查询测试结果

5.2.3 员工基本信息查询测试结果

员工基本信息查询测试结果如图18所示:

图18 员工基本信息查询测试结果5.2.4 员工基本信息修改测试结果

员工基本信息修改测试结果如图19所示:

图19 员工基本信息修改测试结果

6 设计心得

通过两周课程设计,通过对系统分析、设计、开发,系统编码的完成。我深深的体会到了在系统的开发过程中,以前学习感到很抽象的课程,如软件工程、数据库原理、面向对象程序设等变得清晰起来。感觉到这几门理论课程的重要性。以前做一些应用的系统开发,随意性大,想到那里做到那里,没有统一的规划,一旦系统成型,出现错误返工修改工作量大,最终的系统可靠性不高。另外一直以来,进行程序设计均采用结构化开发方法,对系统的全貌难以在开发前看到,导致实现的系统不满足需求。这次的课程设计开发,主要有以下几点收获:1.对原型化的系统开发方法有了一定的了解。渐增式的原型化开发方法与面向对象的程序设计的结合不但能在系统开发初期让用户了解系统的概貌,而且能使系统开发模块化,提高开发效率,减少出错。对于后期的系统维护也提供了很大的帮助。

2.通过实践,提高了系统分析的能力,对数据流图、数据字典、系统流程图等系统设计工具的使用有了更深刻的认识。为以后的工作、学习的进一步提高打下了坚实的基础

总的来说:我喜欢这样的挑战,我喜欢压力,喜欢挑战,这次课程设计,是我大学一来做的最开心的一次了,让我对系统的开发有了初步的了解。对Delphi 7.0 开发工具也有了较为熟悉的掌握。

7 参考资料

1、《软件工程》邓良松刘海岩陆丽娜编著西安电子科技大学出版社

2、《程序设计语言编译方法》唐志宏韩振振编著大连理工大学出版社

3、《数据库系统概论》萨师煊. 王珊编著高等教育出版社

4、《Delphi7.0程序设计》丁爱萍刘瑞新编著西安电子科技大学出版社

5、《Delphi7.0系统开发实例导航》林陈雪郭安源编著人民邮电出版社

bd336x280();_0_0_0_892.979_1262.879-893-0-1631-893.jpg" alt="电子-陈庆龙" />

本文来源:https://www.bwwdw.com/article/zrg2.html

Top